ZFS虚拟磁盘¶
我们在学习类似ZFS这样存储技术的时候,往往没有企业级的多磁盘物理服务器设备。但是,和虚拟化技术类似,我们并不需要购买昂贵的设备才能完成实践。Linux支持将文件作为 VDEV
,这样就可以用一台服务器来满足各种硬件虚拟磁盘条件,我们可以演练技术,并为生产部署做好准备。
创建虚拟磁盘¶
使用 truncate
工具创建文件:
mkdir /vdisk
for i in {1..3}; do truncate -s 2G /vdisk/$i.img; done
RAIDZ1
¶
准备好 Fedora上运行ZFS 环境
RAIDZ1
是一种类似RAID 5的存储技术,提供了 (n-1)/n
的可用容量
zpool create zpool-data raidz /vdisk/1.img /vdisk/2.img /vdisk/3.img
这里我曾经使用过 ZFS/Virtual disks 文档中指定类型 zraid1
zpool create zpool-data zraid1 /vdisk/1.img /vdisk/2.img /vdisk/3.img
但是会报错:
cannot open 'zraid1': no such device in /dev
must be a full path or shorthand device name
所以还是改为 raidz
类型
检查zpool存储池:
zpool list
输出显示:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zpool-data 5.50G 190K 5.50G - - 0% 0% 1.00x ONLINE -
检查zfs(包括挂载信息):
zfs list
输出显示:
NAME USED AVAIL REFER MOUNTPOINT
zpool-data 127K 3.54G 30.6K /zpool-data
此时使用
df -h
名利ing检查,也可以看到目录已经挂载好:Filesystem Size Used Avail Use% Mounted on ... zpool-data 3.6G 128K 3.6G 1% /zpool-data
检查zpool状态:
zpool status zpool-data
显示输出:
pool: zpool-data
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zpool-data ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
/vdisk/1.img ONLINE 0 0 0
/vdisk/2.img ONLINE 0 0 0
/vdisk/3.img ONLINE 0 0 0
errors: No known data errors