分类:
2009-11-30 14:25:36
1 检查磁盘使用状况
命令 df
常用参数 -h 表示human readable。。。囧,用一种人类易读方式显示
-i –inodes 显示inode信息而非块使用状况
-l –local 只显示本地
ibmtc@opensolaris:/# df -h
Filesystem size used avail capacity Mounted on
rpool/ROOT/opensolaris
15G 4.1G 9.1G 32% /
………
(还有很多)
2 建立几个文件
# cd/
# mkfile 100M disk1 disk2 disk3
将用这几个来建立存储池(storage pool)
3 先用下disk1
# zpool create tank /disk1
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 14.8G 5.45G 9.30G 36% ONLINE -
tank 95.5M 74.5K 95.4M 0% ONLINE -
这就创建了一个叫tank的zfs池,无需fdisk或其他什么的(像在Linux那样)
4 创建zfs文件系统
ibmtc@opensolaris:/# zfs create tank/home
ibmtc@opensolaris:/# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 5.45G 9.07G 84K /rpool
……
tank 98K 63.4M 19K /tank
tank/home 19K 63.4M 19K /tank/home
ZFS系统式继承式的,自动挂载
5 手动挂载 如:
# zfs set mountpoint=/export/home tank/home
6 向池中添加磁盘
# zpool add tank /disk2
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 14.8G 5.45G 9.30G 36% ONLINE -
tank 191M 112K 191M 0% ONLINE -
详细信息
# zpool status
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
errors: No known data errors
7 替换
替换前:
# echo “this is a test” > test
# zpool replace tank /disk1 /disk3
之后:
# cat test
this is a test
神奇~
8 干掉zfs和zpool
# zfs destroy tank/home
# cd /
# zpool destroy tank
9 镜像和RAIDZ
ibmtc@opensolaris:/# zpool create tank mirror /disk1 /disk2 spare /disk3
ibmtc@opensolaris:/# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 14.8G 5.45G 9.30G 36% ONLINE -
tank 95.5M 79K 95.4M 0% ONLINE -
ibmtc@opensolaris:/# zpool status
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
spares
/disk3 AVAIL
errors: No known data errors
接下来看RAIDZ
ibmtc@opensolaris:/# zpool create tank raidz /disk1 /disk2 /disk3
ibmtc@opensolaris:/# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
rpool 14.8G 5.45G 9.30G 36% ONLINE -
tank 286M 140K 286M 0% ONLINE -
ibmtc@opensolaris:/# zpool status
pool: tank
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1 ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0
errors: No known data errors