VNCONFIG(8)

명칭
vnconfig - vnode 디스크를 구축해 이용할 수 있도록(듯이) 한다

서식
vnconfig [-cdeguvTZ] [-s option [,option...]] [-r option [,option...]] [-S value] special_file [regular_file] [feature] vnconfig -a [-cdeguv] [-s option] [-r option] [-f config_file]

해설
vnconfig 명령은, vnode 유사 디스크 디바이스를 구축해 사용 가능하게 합니다. 명령의 최초의 서식에서는, 특수 파일 special_file (을)를 통상 파일 regular_file 에 묶어 다음에 통상 파일을 디스크인것 같이 액세스 할 수 있도록(듯이) 합니다. 이것에 의해 파일 시스템중의 통상 파일을, 스왑이나, 이름 공간에 mount 되는 파일 시스템과 할 수 있습니다. 만약 파일 대신에 스왑 area를 사용하고 싶은 경우에는, regular_file를 지정하지 않고 -S 옵션을 이용해 블록 디바이스의 크기를 지정할 수가 있습니다.

옵션은 동작을 지정합니다:

-a  명령 파일을 읽어들여, 각 디바이스/파일의 조에 대해서 지정된 동작을 실행합니다.

-c  디바이스를 구축합니다. 성공하면(자), special_file 에의 참조는, regular_file 의 내용에의 액세스가 됩니다.

-d  지정했다 feature (을)를 (가능하면) 무효로 합니다.

-e  디바이스를 구축해, 지정되었다 feature (을)를 유효하게 합니다. feature 하지만 지정되지 않으면 -e 하 -c (와)과 같은 의미가 됩니다.

-f config_file
    config_file (을)를 설정 파일대신에 사용합니다.

-g  global 옵션을 제어합니다.

-r flag
    flag (을)를 리셋트 합니다. 이용 가능한 플래그와 의미는 이하와 같습니다:

    labels
        디스크/슬라이스 label를 사용합니다.

    reserve
        파일이나 스왑 area를 미리 예약합니다. 현재로서는 스왑 area만 이용 가능합니다. 또 이 옵션은 (예를 들면 큰 파일을 삭제했을 때와 같은) 내재 하는 기억 area를 on-the-fly 로 해방하지 않게 합니다. 이 옵션은 기억 area중에서 오랫동안 fragmentation를 발생시키고 싶지 않은 경우에 사용해 주세요. 이 옵션을 사용했을 경우, 기억 area의 초기의 값은 반드시 0 이 아닌 것에 주의해 주세요. 시스템이 스왑을 할당하기 전에 VN 디바이스가 설정되어 있었을 경우, 리부트되어도 스왑을 이용한 VN 의 내용을 회복할 수가 있습니다.

    follow
        vn(4) 드라이버의 플로우(flow)를 디버그 합니다.

    debug
        vn(4) 드라이버의 데이터를 디버그 합니다.

    io  vn(4) 드라이버의 I/O 를 디버그 합니다.

    all 모든 플래그를 온으로 합니다.

    none
        모든 플래그를 오프로 합니다.

-s flag
    flag (을)를 세트 합니다. 이용 가능한 플래그와 의미는 -r (와)과 같습니다.

-S  value 통상 파일이 지정되지 않았던 경우, VN 는 기억 area로서 스왑을 사용합니다. 이 옵션은 디바이스의 사이즈를 지정합니다. 예를 들면 '23m'는 23 메가바이트를 의미합니다. VN 디바이스는 사이즈를 머신의 페이지 경계에 끝맺습니다. 파일 시스템은 7.9 테라바이트까지 서포트되고 있습니다. 통상 파일과 함께 지정했을 경우, 이 옵션은 VN 가 인식하는 통상 파일의 사이즈를 덧쓰기합니다.

-T  통상 파일이 지정되었을 경우, VN 는 우선 ftruncate()에 의해 파일의 사이즈를 0 으로 합니다. 통상 -S 옵션에 의해 파일의 크기를 지정할 수가 있습니다. 만약 파일이 존재하지 않는 경우에는 파일이 작성됩니다. 이 옵션은 -S 옵션이 지정되었을 때 마셔 의미를 가집니다.

-Z  통상 파일이 지정되었을 경우, VN 는 확실히 파일 시스템에 의해 모든 블록이 확보시키기 위해서(때문에) 파일의 내용을 0 으로 설정합니다. 이 옵션은 -S 옵션이 지정되었을 때 마셔 의미를 가집니다.

-u  디바이스를 무효로 해,``무구축 상태''로 합니다.

-v  실행되는 동작의 내용을 표준 출력에 표시합니다.

동작을 지정하는 옵션이 없는 경우에는, -c 하지만 지정된 것이라고 봅니다.

feature 인수는, -e 에 의해 유효하게 되는 기능을 지정합니다.

swap
    특수 파일상에서의 스왑을 유효하게 합니다. swapon(2) (을)를 참조해 주세요.

mountro=mount_point
    특수 파일은, mount_point 에 읽기 전용 mount 됩니다. mount(2) (을)를 참조해 주세요.

mountrw=mount_point
    특수 파일은, mount_point 에 읽고 쓰기 가능 mount 됩니다. mount(2) (을)를 참조해 주세요.

mount=mount_point
    ``mountrw=''와 같습니다.

설정 파일은, 1 행에 디바이스와 파일명의 조를 다음의 형식에서 가집니다:

    	special_file	regular_file	[ feature ]

여기에서는 각 필드는 스페이스에서 분할됩니다. 설정 파일중의 모든 디바이스의 동작에 관해서, 전술의 동작 옵션이 유효합니다.

관련 파일
/etc/vntab
    -a 옵션으로 사용되는 디폴트의 설정 파일

사용예
    vnconfig vn0c /tmp/diskimage

vnode 디스크 디바이스 vn0c (을)를 구축합니다.

    vnconfig -e vn0c /var/swapfile swap

vnode 디스크 디바이스 vn0c (을)를 구축해, 그것을 스왑 area로서 사용하도록(듯이) 합니다.

    vnconfig -d vn0c myfilesystem mount=/mnt

vnode 디스크 디바이스 vn0c 의 mount를 해제합니다 (또 무구축 상태로 합니다).

    vnconfig -ae

/etc/vntab 에 기술 떠날 수 있어 모든 디바이스를 구축해 사용 가능하게 합니다.

    vnconfig -s labels -c vn0 somebackingfile
    disklabel -r -w vn0 auto
    disklabel -e vn0

파일의 파일을 이용한 VN 디스크를 구축해, 디스크 label를 사용해 초기화해 label를 편집하는 예입니다. 일단 label를 작성하면, VN 디스크에 대해서 파티션을 작성하거나 작성한 있는 파티션으로 파일 시스템을 작성할 수가 있습니다. 파일을 기억 area로서 사용했을 경우, 같은 파일을 vnconfig 로 설정하는 것으로 label를 재편집하거나 파일 시스템을 재구축 하지 않고, 또 파일중에 보존되고 있는 VN 의 설정을 사용해 크래쉬 후에 VN 디스크를 회복할 수가 있습니다. 또 파일 시스템을 포함하고 있던 VN 파티션에 fsck 를 실행하는 일도 가능합니다.

    vnconfig -e -s labels, reserve -S 400m vn1
    disklabel -r -w vn1 auto
    newfs /dev/vn1c
    mount /dev/vn1c /usr/obj

스왑을 이용한 VN 디스크의 설정예입니다. 이 예에서는 적어도 400 메가바이트 (혹은 그 이상이 바람직하다)의 빈 곳이 스왑에 있으면(자) 가정하고 있습니다. 스왑 area는 최대의 퍼포먼스를 얻기 위해서(때문에) 미리 예약됩니다. 그 후 디스크에 대해서 label를 작성해, newfs 를 실행해, /usr/obj 에 mount 합니다. 스왑을 이용한 VN 디바이스는 크래쉬 후 (A) reserve 플래그를 지정해 있는, (B) 전회와 같은 스왑이 확보되고 있다, 즉 vnconfig 가 rc.local 로 기동되고 있는 경우 회복 가능합니다. 그렇지만 일반적으로 스왑을 이용한 VN 디바이스는 리부트시에 없어져도 상관없는 것 같은 데이터를 보존하기 위해서 사용합니다.

관련 항목
mount(2), swapon(2), unmount(2), vn(4)