¥¾¡¼¥ó´Ä¶¤Ç¤ÎZFS¤ÎÍøÍÑ
ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¾¡¼¥ó¤ÇÍøÍѤ¹¤ëÊýË¡¤Ë¤ÏÂ礤¯Ê¬¤±¤Æ°Ê²¼¤Î£²Ä̤ê¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¡ü
ÈÆÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤Æ¥¾¡¼¥ó¤ËÄɲ乤ë
¤³¤ÎÊýË¡¤Ï zonecfg ¥³¥Þ¥ó¥É¤Î add fs
¥µ¥Ö¥³¥Þ¥ó¥É¤ÇÀßÄê¤Ç¤¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤ÇºîÀ®¤·¤¿ ZFS
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÈó¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤Ç¥Ç¡¼¥¿¤Î³ÊǼÎΰè¤È¤·¤Æ¤½¤Î¤Þ¤ÞÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¤¬¡¢¥¾¡¼¥ó¤Î´ÉÍý¼Ô¸¢¸Â¤Ç¤Ï ZFS
¤Î¥×¥í¥Ñ¥Æ¥£¤òÊѹ¹¤¹¤ë¤³¤È¤ä¥Þ¥¦¥ó¥È¥Ý¥¤¥ó¥È¤òÊѹ¹¤¹¤ë¤³¤È¤Ê¤É¤Ï¤Ç¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î mountpoint
¥×¥í¥Ñ¥Æ¥£¤Ï¤¢¤é¤«¤¸¤á legacy ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¡ü
¥Ç¡¼¥¿¥»¥Ã¥È¤È¤·¤Æ¥¾¡¼¥ó¤ËÄɲ乤ë
¤³¤ÎÊýË¡¤Ï zonecfg ¥³¥Þ¥ó¥É¤Î add dataset
¥µ¥Ö¥³¥Þ¥ó¥É¤ÇÀßÄê¤Ç¤¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤ÇºîÀ®¤·¤¿ ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÈó¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤Ç¤â ZFS
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤ÆÁàºî²Äǽ¤Ê¾õÂÖ¤ÇÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤«¤é°ÑǤ¤µ¤ì¤¿ ZFS
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à°Ê²¼¤Î³¬ÁؤǤ¢¤ì¤Ð¡¢¥¾¡¼¥ó¤Î´ÉÍý¼Ô¸¢¸Â¤Ç ZFS ¤Î¥×¥í¥Ñ¥Æ¥£Êѹ¹¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¿·µ¬ºîÀ®¤Ê¤É¤Î ZFS
¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¢£ ZFS ¥ß¥é¡¼¥×¡¼¥ë¤ÎºîÀ®
°Ê²¼¤Î¤è¤¦¤ËŬÅö¤Ê¥Ç¥£¥¹¥¯or¥¹¥é¥¤¥¹¤ò»ÈÍѤ·¤Æ¥ß¥é¡¼¥×¡¼¥ë¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤ì¤«¤éºîÀ®¤¹¤ë¥¾¡¼¥óÍÑ¤Ë zone1 ¤È zone2 ¤È¤¤¤¦ ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤âºîÀ®¤·¤Æ¤ª¤¤Þ¤¹¡£
#
zpool create -f webdata mirror
c0t7d0s3 c0t7d1s3
#
zpool add webdata mirror c0t7d0s4
c0t7d1s4
#
zfs create webdata/zone1
#
zfs create webdata/zone2
#
zpool status
¥×¡¼¥ë: webdata
¾õÂÖ: ONLINE
¥¹¥¯¥é¥Ö: ²¿¤âÍ׵ᤵ¤ì¤Þ¤»¤ó¤Ç¤·¤¿
¹½À®:
NAME
STATE READ WRITE CKSUM
webdata
¥ª¥ó¥é¥¤¥ó 0
0 0
mirror ¥ª¥ó¥é¥¤¥ó
0 0 0
c0t7d0s3 ¥ª¥ó¥é¥¤¥ó 0
0 0
c0t7d1s3 ¥ª¥ó¥é¥¤¥ó 0
0 0
mirror ¥ª¥ó¥é¥¤¥ó
0 0 0
c0t7d0s4 ¥ª¥ó¥é¥¤¥ó 0
0 0
c0t7d1s4 ¥ª¥ó¥é¥¤¥ó 0
0 0
¥¨¥é¡¼: ´ûÃΤΥǡ¼¥¿¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó
#
zfs list
NAME
USED AVAIL REFER MOUNTPOINT
webdata
168K 9.60G 27.5K /webdata
webdata/zone1
24.5K 9.60G 24.5K /webdata/zone1
webdata/zone2
24.5K 9.60G 24.5K /webdata/zone2
#
¢£ ´ðËÜŪ¤Ê¥¾¡¼¥ó¤ÎºîÀ®
¤Þ¤º¡¢°Ê²¼¤Î¤è¤¦¤ÊºÇÄã¸Â¤Î¹½À®¤Ç zone1 ¤È zone2 ¤òºîÀ®¤·¤Þ¤¹¡£
#
zonecfg -z zone1
zone1: ¤½¤Î¤è¤¦¤Ê¹½À®ºÑ¤ß¥¾¡¼¥ó¤Ï¤¢¤ê¤Þ¤»¤ó
'create' ¤ò»ÈÍѤ·¤Æ¡¢¿·¤·¤¤¥¾¡¼¥ó¤Î¹½À®¤ò³«»Ï¤·¤Æ¤¯¤À¤µ¤¤¡£
zonecfg:zone1>
create
zonecfg:zone1>
set
zonepath=/export/zone1
zonecfg:zone1>
set autoboot=true
zonecfg:zone1>
add net
zonecfg:zone1:net>
set
physical=qfe0
zonecfg:zone1:net>
set
address=192.168.110.101
zonecfg:zone1:net>
end
zonecfg:zone1>
exit
#
zoneadm -z zone1 install
Preparing to install zone <zone1>.
Creating list of files to copy from the global zone.
Copying <2569> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1088> packages on the zone.
Initialized <1088> packages on zone.
Zone <zone1> is initialized.
The file </export/zone1/root/var/sadm/system/logs/install_log>
contains a log of the zone installation.
#
#
zoneadm -z zone1 boot
#
zlogin -C zone1
(½é´üÀßÄê)
....
#
zonecfg -z zone2
zone2: ¤½¤Î¤è¤¦¤Ê¹½À®ºÑ¤ß¥¾¡¼¥ó¤Ï¤¢¤ê¤Þ¤»¤ó
'create' ¤ò»ÈÍѤ·¤Æ¡¢¿·¤·¤¤¥¾¡¼¥ó¤Î¹½À®¤ò³«»Ï¤·¤Æ¤¯¤À¤µ¤¤¡£
zonecfg:zone2>
create
zonecfg:zone2>
set
zonepath=/export/zone2
zonecfg:zone2>
set autoboot=true
zonecfg:zone2>
add net
zonecfg:zone2:net>
set
physical=qfe0
zonecfg:zone2:net>
set
address=192.168.110.102
zonecfg:zone2:net>
end
zonecfg:zone2>
exit
#
zoneadm -z zone2 install
Preparing to install zone <zone2>.
Creating list of files to copy from the global zone.
Copying <2569> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1088> packages on the zone.
Initialized <1088> packages on zone.
Zone <zone2> is initialized.
The file </export/zone2/root/var/sadm/system/logs/install_log>
contains a log of the zone installation.
#
#
zoneadm -z zone2 boot
#
zlogin -C zone2
(½é´üÀßÄê)
....
#
zoneadm list -vc
ID
NAME
STATUS PATH
0
global
running /
7
zone1
running /export/zone1
8
zone2
running /export/zone2
#
¾åµ¤Î¤è¤¦¤Ë½é´üÀßÄ꤬½ª¤ï¤ê running ¾õÂ֤ˤʤäƤ¤¤ì¤ÐOK¤Ç¤¹¡£
¢£ ÈÆÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤Æ¥¾¡¼¥ó¤ËÄɲ乤ë
¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤ÇºîÀ®¤·¤¿ webdata/zone1 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò zone1
¤ÇÄ̾ï¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤è¤¦¤ËÍøÍѤǤ¤ë¤è¤¦¤ËÄɲä·¤Þ¤¹¡£
¤Þ¤º¡¢webdata/zone1 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î mountpoint ¥×¥í¥Ñ¥Æ¥£¤ò legacy ¤ËÊѹ¹¤·¤Þ¤¹¡£
#
zfs set mountpoint=legacy
webdata/zone1
#
zfs get mountpoint webdata/zone1
NAME
PROPERTY
VALUE
SOURCE
webdata/zone1 mountpoint
legacy
local
#
°Ê²¼¤Î¤è¤¦¤Ë zone1 ¤Î¹½À®¤òÊѹ¹¤·¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê zone1 ¤Î /www ¥Ç¥£¥ì¥¯¥È¥ê¤Ë ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à webdata/zone1 ¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
#
zonecfg -z zone1
zonecfg:zone1>
add fs
zonecfg:zone1:fs>
set
special=webdata/zone1
zonecfg:zone1:fs>
set dir=/www
zonecfg:zone1:fs>
set type=zfs
zonecfg:zone1:fs>
end
zonecfg:zone1>
exit
#
ÀßÄê¤òÈ¿±Ç¤µ¤»¤ë¤¿¤á zone1 ¤òºÆµ¯Æ°¤µ¤»¤Þ¤¹¡£
#
zlogin zone1 init 6
ºÆµ¯Æ°¸å¡¢°Ê²¼¤Î¤è¤¦¤Ë zone1 ¤Ë¥í¥°¥¤¥ó¤·¤Æ¡¢ZFS ¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò³Îǧ¤·¤Þ¤¹¡£
#
zlogin zone1
[¥¾¡¼¥ó 'zone1' pts/3 ¤ËÀܳ¤µ¤ì¤Þ¤·¤¿]
Last login: Fri Oct 27 16:33:36 on pts/3
Sun Microsystems Inc. SunOS
5.10 Generic January 2005
#
df -F zfs -h
Filesystem
size used avail capacity Mounted on
webdata/zone1
9.6G 24K 9.6G
1% /www
#
¾åµ¤Î¤è¤¦¤ËÈÆÍÑ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤ÆÍÆÎ̤ʤɤÏǧ¼±¤·¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢°Ê²¼¤Î¤è¤¦¤Ê ZFS ¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¤Ç¤¤Þ¤»¤ó¡£¡Ê¥¹¥È¥ì¡¼¥¸¥×¡¼¥ë¤ä
ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤ÆÇ§¼±¤·¤Æ¤ª¤ê¤Þ¤»¤ó¡Ë
#
zfs list
no datasets available
#
zpool list
no pools available
¤Þ¤¿¡¢zoned ¥×¥í¥Ñ¥Æ¥£¤Ï off ¤Î¤Þ¤Þ¤Ç¤¹¡£
#
zfs get -r zoned webdata/zone1
NAME
PROPERTY
VALUE
SOURCE
webdata/zone1
zoned
off
default
#
¢£ ¥Ç¡¼¥¿¥»¥Ã¥È¤È¤·¤Æ¥¾¡¼¥ó¤ËÄɲ乤ë
¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤ÇºîÀ®¤·¤¿ webdata/zone2 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò zone2 ¤ÇÄ̾ï¤Î ZFS
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¤è¤¦¤ËÍøÍѤǤ¤ë¤è¤¦¤ËÄɲä·¤Þ¤¹¡£
¤Þ¤º¡¢webdata/zone2 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î mountpoint ¥×¥í¥Ñ¥Æ¥£¤ò /www ¤ËÀßÄꤷ¤Þ¤¹¡£¤³¤ÎÀßÄê¤Ï zone2
¤ÎÃæ¤Ç¤âÈ¿±Ç¤µ¤ì¤Þ¤¹¡£
#
zfs set mountpoint=/www
webdata/zone2
#
zfs get mountpoint webdata/zone2
NAME
PROPERTY
VALUE
SOURCE
webdata/zone2 mountpoint
/www
local
#
°Ê²¼¤Î¤è¤¦¤Ë zone2 ¤Î¹½À®¤òÊѹ¹¤·¤Þ¤¹¡£
¤³¤ì¤Ç webdata/zone2 ¤¬ zone2 ¤Ç¤â ZFS ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤ÆÇ§¼±¤Ç¤¤Þ¤¹¡£
#
zonecfg -z zone2
zonecfg:zone2>
add dataset
zonecfg:zone2:dataset>
set
name=webdata/zone2
zonecfg:zone2:dataset>
end
zonecfg:zone2>
exit
#
ÀßÄê¤òÈ¿±Ç¤µ¤»¤ë¤¿¤á zone2 ¤òºÆµ¯Æ°¤µ¤»¤Þ¤¹¡£
#
zlogin zone2 init 6
ºÆµ¯Æ°¸å¡¢°Ê²¼¤Î¤è¤¦¤Ë zone2 ¤Ë¥í¥°¥¤¥ó¤·¤Æ¡¢ZFS ¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò³Îǧ¤·¤Þ¤¹¡£
#
zlogin zone2
[¥¾¡¼¥ó 'zone2' pts/3 ¤ËÀܳ¤µ¤ì¤Þ¤·¤¿]
Sun Microsystems Inc. SunOS
5.10 Generic January 2005
#
df -h -F zfs
Filesystem
size used avail capacity Mounted on
webdata/zone2
9.6G 24K 9.6G
1% /www
#
zone1 ¤Î»þ¤ÈƱ¤¸¤è¤¦¤Ë¡¢zfs ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ï¤ï¤«¤ê¤Þ¤¹¡£
°ã¤¤¤Ï°Ê²¼¤Î¤è¤¦¤Ë zfs ¤ä zpool ¥³¥Þ¥ó¥É¤Çwebdata/zone2 ¤¬Ç§¼±¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ç¤¹¡£
#
hostname
zone2
#
zfs list
NAME
USED AVAIL REFER MOUNTPOINT
webdata
178K 9.60G 24.5K /webdata
webdata/zone2
24.5K 9.60G 24.5K /www
#
zpool list
NAME
SIZE USED AVAIL
CAP HEALTH ALTROOT
webdata
9.75G 181K 9.75G
0% ONLINE -
#
¤Þ¤¿¡¢°Ê²¼¤Î¤è¤¦¤Ë°ÑǤ¤µ¤ì¤¿ webdata/zone2 °Ê²¼¤Ç¤¢¤ì¤Ð¡¢¥¾¡¼¥ó´ÉÍý¼Ô¤Î¸¢¸Â¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¿·µ¬¤ËºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
#
zfs create webdata/zone2/db_server
#
zfs create webdata/zone2/web_server
#
zfs list
NAME
USED AVAIL REFER MOUNTPOINT
webdata
240K 9.60G 24.5K /webdata
webdata/zone2
76.5K 9.60G 27.5K /www
webdata/zone2/db_server 24.5K 9.60G 24.5K
/www/db_server
webdata/zone2/web_server 24.5K 9.60G 24.5K
/www/web_server
#
ÅöÁ³¡¢webdata ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤Ï¸¢¸Â¤¬¤Ê¤¤¤Î¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎºîÀ®¤Ï¼ºÇÔ¤·¤Þ¤¹¡£
#
zfs create webdata/test
cannot create 'webdata/test': permission denied
#
¤Þ¤¿¡¢ÀèÄø¿·µ¬¤ËºîÀ®¤·¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë°Ê²¼¤Î¤è¤¦¤Ë¥¯¥©¡¼¥¿¤ÎÀßÄê¤ò¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
#
zfs set quota=1g
webdata/zone2/web_server
#
zfs set quota=2g
webdata/zone2/db_server
#
zfs list
NAME
USED AVAIL REFER MOUNTPOINT
webdata
240K 9.60G 24.5K /webdata
webdata/zone2
76.5K 9.60G 27.5K /www
webdata/zone2/db_server 24.5K
2.00G 24.5K
/www/db_server
webdata/zone2/web_server 24.5K
1024M 24.5K
/www/web_server
#
¤Á¤Ê¤ß¤Ë¾åµ¤ÎÀßÄê¤À¤È zone1 ¤È zone2
¤ÇƱ¤¸¥×¡¼¥ë¤ò¶¦Í¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¾å°Ì¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤â¥¯¥©¡¼¥¿ÀßÄê¤ò¤·¤Æ¤ª¤¯¤Î¤¬¸½¼ÂŪ¤Ç¤¹¡£
¤¦¤Ã¤«¤ê°Ê²¼¤Î¤è¤¦¤ËÀßÄꤷ¤è¤¦¤È¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¤¬¡¢³ä¤êÅö¤Æ¤é¤ì¤¿¥Ç¡¼¥¿¥»¥Ã¥È¼«ÂΤΥ¯¥©¡¼¥¿ÀßÄê¤Ï¥¾¡¼¥ó´ÉÍý¼Ô¤Î¸¢¸Â¤Ç¤Ï¤Ç¤¤Þ¤»¤ó¡£¡Ê¤è¤¯¹Í¤¨¤ì¤Ð
ÅöÁ³¤Ç¤¹¤è¤Í¡£¡Ë
#
zfs set quota=5g webdata/zone2
cannot set quota for 'webdata/zone2': permission denied
#
¤½¤³¤Ç¥°¥í¡¼¥Ð¥ë¥¾¡¼¥ó¤ËÌá¤Ã¤Æ¥¯¥©¡¼¥¿ÀßÄê¤ò¤·¤Þ¤¹¡£
#
exit
[¥¾¡¼¥ó 'zone2' pts/3 ¤Ø¤ÎÀܳ¤¬ÊĤ¸¤é¤ì¤Þ¤·¤¿]
#
zonename
global
#
zfs set quota=5g webdata/zone2
#
zfs set quota=3g webdata/zone1
#
zfs list
NAME
USED AVAIL REFER MOUNTPOINT
webdata
240K 9.60G 24.5K /webdata
webdata/zone1
24.5K 3.00G 24.5K legacy
webdata/zone2
76.5K 5.00G 27.5K /www
webdata/zone2/db_server 24.5K 2.00G 24.5K
/www/db_server
webdata/zone2/web_server 24.5K 1024M 24.5K
/www/web_server
#
Èó¾ï¤Ë´Êñ¤Ç¤¹¤Í¡£
¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á
¾ÜºÙ¤Ï°Ê²¼¤Î¥È¥ì¡¼¥Ë¥ó¥°¥³¡¼¥¹»²¾È
Solaris 10 ZFS ´ÉÍý
Solaris 10¥³¥ó¥Æ¥Ê(¥¾¡¼¥ó)
Solaris10¿·µ¡Ç½¡Ê¥·¥¹¥Æ¥à´ÉÍýÊÔ¡Ë
¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á
¡Ú¥¢¥ó¥±¡¼¥È¡Û
¤³¤Îµ»ö¤Ï¤¿¤á¤Ë¤Ê¤ê¤Þ¤·¤¿¤«¡©
¡¡¡¡¡¡¤Ï¤¤¡¡¡¡/¡¡¡¡¤¤¤¤¤¨