ZFS快速起步(zcloud)¶
ZFS快速起步 是我在 Docker ZFS 存储驱动 基础上完成的进一步卷管理。不算完整操作。
现在为了 单条命令安装kubeflow 准备 ZFS NFS ,则是完整的 HPE ProLiant DL360 Gen9服务器 服务器独立磁盘操作,记录如下
在ZFS操作前检查磁盘
fdisk -l
可以看到磁盘是一个dos分区表,但没有分区(买来时候) :
Disk /dev/sda: 1.75 TiB, 1920383410176 bytes, 3750748848 sectors
Disk model: SDLF1CRR-019T-1H
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x33b32403
在独立磁盘
/dev/sda
(这个根据操作系统启动时识别磁盘获得,每个系统可能不同)创建zpool:
zpool create zpool-data sda
# 设置了从zpool的根开始激活压缩
zfs set compression=lz4 zpool-data
备注
对于数据存储,启用 ZFS压缩 节约存储空间
检查
zpool
:
zpool list
可以看到输出是一个完整磁盘:
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zpool-data 1.73T 456K 1.73T - - 0% 0% 1.00x ONLINE -
注意,对于完整磁盘使用,ZFS会立即自动创建
GPT
分区表(抹掉之前的dos分区表),并且划分为两个分区以及做好类型标注,一切都是自动化的: 使用fdisk -l
可以看到如下新的磁盘分区:
Disk /dev/sda: 1.75 TiB, 1920383410176 bytes, 3750748848 sectors
Disk model: SDLF1CRR-019T-1H
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: CB3CD2A0-1D00-D346-B9DA-8ED7E2EEEC89
Device Start End Sectors Size Type
/dev/sda1 2048 3750731775 3750729728 1.7T Solaris /usr & Apple ZFS
/dev/sda9 3750731776 3750748159 16384 8M Solaris reserved 1
由于
zpool-data
存储池挂载在/zpool-data
,所以后续创建的卷,默认都会挂载到这个目录下的子目录:
# 采用一条命令创建挂载好目录的ZFS卷,这个目录卷用于 y-k8s
zfs create zpool-data/y-k8s
# 如果要挂载到其他可选目录,例如可以增加 -o mountpoint=/y-k8s
# 为 y-k8s Kubernetes集群的不同用途pv创建子卷,例如这里为 install_kubeflow_single_command 提供PV
zfs create zpool-data/y-k8s/authservice-pvc
对于存储池下创建的 根
卷,需要指定挂载目录;对于 根
卷下的子卷,可以不指定挂载目录,则会自动按照层次结构进行独立卷挂载,非常巧妙的管理模式
完成后使用
df -h
检查可以看到当前ZFS存储挂载目录:
Filesystem Size Used Avail Use% Mounted on
...
zpool-data 860G 1.9M 860G 1% /var/lib/docker
zpool-data/home 860G 128K 860G 1% /home
zpool-data/home/huatai 860G 128K 860G 1% /home/huatai
卷和子卷会从上一级ZFS继承属性,由于在 X86移动云ZFS 已经配置了
zpool-data
压缩属性,所以使用zfs get compression
可以看到卷和子卷都继承了压缩属性:# zfs get compression zpool-data/home NAME PROPERTY VALUE SOURCE zpool-data/home compression lz4 inherited from zpool-data # zfs get compression zpool-data/home/huatai NAME PROPERTY VALUE SOURCE zpool-data/home/huatai compression lz4 inherited from zpool-data
可以设置卷的quota,例如:
zfs set quota=10G zpool-data/home/huatai
恢复
/home/huatai
目录数据:
chown huatai:staff /home/huatai
chmod 700 /home/huatai
su - huatai
(cd /home.bak/huatai && tar cf - .)|(cd /home/huatai && tar xf -)