- A+
文章目录[隐藏]
概念介绍
常用的命令有两个,zpool和zfs,其中zpool主要用于储存池的创建,zfs主要用于文件系统的参数设定。
zpool
zpool create 储存池名 (设备角色类型) 设备名
可选的角色类型有 raidz(raidz1类似raid5的组需要三块盘raidz2类似raid6需要四块盘) mirror(镜像) log(缓冲) cache(高速缓存) spare(热备)
其中raidz需要由同等大小的设备组成,一样的镜像在创建和附加时新磁盘容量不能小于所镜像的对象,任意大小的储存组、镜像组和软raid及其包括缓充、热备、缓存的混合组都可以组成条带存储组(相当于raid0)。log日志设备用于换乘后端设备写入。cache 又称l2 cache zfs工作时会尽量使用限定大小下的可用内存,当缓存数据过多或物理内存不足时会逐步转移数据至l2 cache 否则就丢弃。
-o 中常用的选项 *
1 | -o ashift=12 * |
-o ashift=12* 这个选项适合当今的 SATA 硬盘和固态硬盘,,即 AF 盘,表示传输最小单位为2^12=1024*4=4k.使用这个选项,ZFS 就会自动进行”4k 分区对齐“的操作,如果你在其它硬盘上进行操作,请去掉这个选项(8k固态或老硬盘);
新硬盘的一般都支持4k,即使是老硬盘,4k对齐后硬盘读写任然有提升,因为减少了io,最多将8次随机读写变成了一次性8次512b共4k的写。
当使用超大容量或数量规模的zfs储存池作为小文件的存储或底层存储时。建议考虑是否使用默认ashift,出于成本考虑,4k zfs池会导致容量减小,而小文件多数量的存储不大能从4k对齐中获益。
1 | -o -f |
-f 选项是为了避免诸如 does not contain an EFI label 的错误提示,又或是试图将以有文件系统的分区加入zfs池。 如果操作成功,那么运行 zpool status 就应该可以看到类似下面的信息。
还可以用zpool add 储存池名 (设备角色类型)设备名添加对应设备
zpool attach 附加设备到镜像组,达成n重镜像
为了保证重启后正常
可以进行 zpool export 池 和 zpool import 池 的操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | [root@joshua joshua]# zpool --help usage: zpool command args ... where 'command' is one of the following: create [-fnd] [-o property=value] ... [-O file-system-property=value] ... [-m mountpoint] [-R root] <pool> <vdev> ... destroy [-f] <pool> add [-fgLnP] [-o property=value] <pool> <vdev> ... remove <pool> <device> ... labelclear [-f] <vdev> list [-gHLPv] [-o property[,...]] [-T d|u] [pool] ... [interval [count]] iostat [-gLPvy] [-T d|u] [pool] ... [interval [count]] status [-gLPvxD] [-T d|u] [pool] ... [interval [count]] online <pool> <device> ... offline [-t] <pool> <device> ... clear [-nF] <pool> [device] reopen <pool> attach [-f] [-o property=value] <pool> <device> <new-device> detach <pool> <device> replace [-f] [-o property=value] <pool> <device> [new-device] split [-gLnP] [-R altroot] [-o mntopts] [-o property=value] <pool> <newpool> [<device> ...] scrub [-s] <pool> ... import [-d dir] [-D] import [-d dir | -c cachefile] [-F [-n]] <pool | id> import [-o mntopts] [-o property=value] ... [-d dir | -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n]] -a import [-o mntopts] [-o property=value] ... [-d dir | -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n]] <pool | id> [newpool] export [-af] <pool> ... upgrade upgrade -v upgrade [-V version] <-a | pool ...> reguid <pool> history [-il] [<pool>] ... events [-vHfc] get [-pH] <"all" | property[,...]> <pool> ... set <property=value> <pool> |
