ZFS文件系统能够通过zfs create和zfs destory命令进行创建和删除。
创建ZFS文件系统
ZFS文件系统可以通过命令zfs create命令进行创建。Create子命令可以使用担搁参数创建文件系统名称。文件系统名称是从
pool-name/[filesystem-name/]filesystem-name
一个新的文件系统被创建的时候在他的路径标示层次上用存储池的名字和文件系统开始的名字所有的文件系统的名字必须是在存储池中存在的。文件系统的名字必须符合ZFS文件名组成的要求。
(任何一个ZFS文件系统名字的组成必须符合下面的规则:
不允许为空EEmpty components are not allowed.
任何一个名字只能包含文字和数字以及下面4个特殊字符:
Underscore (_)
Hyphen (-)
Colon (:)
Period (.)
存储池的名字必须是用小写字母开始。除了开始开始序列c[0-9] 是不允许的。同时,存储池的名字象mirror, raidz, 和 spare是不允许的,因为这些是保留的。
Dataset 的名字是文字和数字)
下面的例子显示文件系统bonwick被创建到tank/home文件系统上。
# zfs create tank/home/bonwick
ZFS如果创建成功它会自动mount到新创建的文件系统上。默认的文件是mount为/dataset,为create命令提供文件系统名提供使用路径。例如:新创建的bonwick文件系统是/tank/home/bonwick更多的关于自动mount点的信息参考Managing ZFS Mount Points.
更多的关于zfs create的命令请参考zfs。
删除ZFS文件系统
.删除ZFS文件系统使用zfs destroy命令。删除文件系统是自动umount和unshared。关于更多的automanaged mounts和 automanaged shares,请考Automatic Mount Points
.看下面的例子:
# zfs destroy tank/home/tabriz
注意:使用destroy命令没有确认提示出现。
如果文件系统在删除的时候是忙的和不能unmount则zfs destroy命令失败。删除活动的文件系统,使用-f参数。使用这个参数要注意,它能够umount unshare和删除活动的文件系统,引起一些非预见的应用活动。
# zfs destroy tank/home/ahrens
cannot unmount 'tank/home/ahrens': Device busy
# zfs destroy -f tank/home/ahrens
如果文件系统是子系统在使用zfs destroy时也会失败。要递归删除文件系统和所有的相关信息。使用-r参数递归删除同时也要注意同时会删除snapshots
# zfs destroy tank/ws
cannot destroy 'tank/ws': filesystem has children
use '-r' to destroy the following datasets:
tank/ws/billm
tank/ws/bonwick
tank/ws/maybee
# zfs destroy -r tank/ws
如果文件系统间接的删除了一些信息。则递归删除也会出现失败。则需要强迫删除所有的信息,包括外部层次上的客龙文件系统。则需要使用-R参数。
# zfs destroy -r tank/home/schrock
cannot destroy 'tank/home/schrock': filesystem has dependent clones
use '-R' to destroy the following datasets:
tank/clones/schrock-clone
# zfs destroy -R tank/home/schrock
注意在使用-f –r –R参数时没有出现确认提示消息。
为ZFS文件系统更名
文件系统可以使用zfs rename命令进行更名。使用rename命令可以执行以下操作。
改变文件系统名
重新分配文件系统到新定位的ZFS结构上。
为文件系统更名并且重新定位ZFS结构。
下面是一个使用rename命令的例子
# zfs rename tank/home/kustarz tank/home/kustarz_old
将 kustarz 文件系统更名为 kustarz_old.
下面的例子显示将文件系统重新定位
# zfs rename tank/home/maybee tank/ws/maybee
这个例子中如果maybee文件系统重新定位冲tank/home到tank/ws。当你重新定位文件系统通过rename命令,新定位的点必须有同样的存储池并且有足够的空间来提供给新的文件系统。如果,新的定位点没有足够的空间,可能是存储池已经达到容量了。则rename失败。
如果rename操作尝试着unmount/remount操作为文件系统和下级文件系统。如果操作不能unmount活动的文件系统则rename失败。如果这样的问题发生了。则需要强制unmount文件系统。
阅读(696) | 评论(0) | 转发(0) |