如何在Ubuntu Linux上创建RAID 10条带镜像Vdev ZPool

时间:2020-01-09 14:17:01  来源:igfitidea点击:

如何为服务器创建基于zfs的RAID 10(带条纹的镜像VDEV),因为如何执行小的随机读取I/O。
如何在Ubuntu Linux 16.04 LTS服务器上创建带区卷的2 x 2 zfs镜像池?
剥离的镜像Vdev Zpool与RAID10相同,但具有防止数据丢失的追加功能。
在本快速教程中,您将学习如何在Ubuntu Linux 16.04 LTS服务器上创建条带镜像的Vdev Zpool(RAID 10)。
在FreeBSD或任何其他Linux发行版或类Unix系统上,命令保持不变。

准备工作

首先,显然,您想确定已安装zfs,请运行以下命令:

$ sudo apt update
$ sudo apt install zfsutils-linux

创建条带镜像的VDEV(RAID 10)

语法为:

sudo zpool create NAME mirror VDEV1 VDEV2 mirror VDEV3 VDEV4

或者:

sudo zpool create NAME mirror VDEV1 VDEV2
sudo zpool add NAME mirror VDEV3 VDEV4

VDE可以是原始磁盘,文件/镜像或分区。

步骤1:寻找设备名称

在此示例中,我将使用四个物理磁盘创建条带镜像的Vdev Zpool。
建议您使用/dev/disk/by-id /磁盘名称,该名称通常使用驱动器的序列号。
执行以下命令以查找系统中的磁盘:

$ ls -l /dev/disk/by-id/ | grep sd[a-z]$

Linux使用/dev/disk/by-id /按序列号查找磁盘名称

步骤-2:使用四个原始磁盘创建2 x 2镜像池

您可以按以下方式使用wwn-0x50011731002b33ac(sda),wwn-0x50011731002b50d0(sdb),wwn-0x5001173100406557(sdc)和wwn-0x50011731004085a7(sdd),以在镜像中创建一个包含4个驱动器的VDEV的zpool,即2 x 2个镜像池:

$ sudo zpool create tank0 mirror wwn-0x50011731002b33ac wwn-0x50011731002b50d0 mirror wwn-0x5001173100406557 wwn-0x50011731004085a7

"或:使用以下语法",创建一个名为foo的zpool,该zpool在镜像中包含2个驱动器的VDEV:

$ sudo zpool create foo mirror wwn-0x50011731002b33a wwn-0x50011731002b50d0

接下来,将另一个2个驱动器的VDEV在镜像中添加到池中:

$ sudo zpool add foo mirror wwn-0x5001173100406557 wwn-0x50011731004085a7 -f

另一个示例:使用四个分区创建2 x 2镜像池

使用以下命令列出分区:

$ ls -l /dev/disk/by-id/ | grep sd[a-z][0-9]$

使用序列号分区格式在镜像中创建一个包含4个驱动器的VDEV的zpool:

$ sudo zpool create cartwheel mirror wwn-0x5001173100406557-part1 wwn-0x50011731004085a7-part1 -f
$ sudo zpool add cartwheel mirror wwn-0x50011731002b50d0-part1 wwn-0x50011731002b33ac-part8 -f

最后,执行以下命令以确保它是在系统上创建的:

$ zpool status
$ zpool list
$ df -H

输出示例:
查看池运行状况

现在,您可以开始复制数据或将数据存储在/theitroad中:

$ cd /cartwheel
$ ls
$ cp /bar/ .

但是,ZFS允许您创建文件系统。
例如池中名为sartwheel的salesdata或lxccontainers文件系统:

$ sudo zfs create cartwheel/salesdata
$ sudo zfs create cartwheel/lxccontainers
$ zfs list

输出示例:

NAME                      USED  AVAIL  REFER  MOUNTPOINT
cartwheel                 111K  1.44T    19K  /cartwheel
cartwheel/lxccontainers    19K  1.44T    19K  /cartwheel/lxccontainers
cartwheel/salesdata        19K  1.44T    19K  /cartwheel/salesdata

要从称为cartwheel的池中销毁这两个文件系统,请运行:

$ sudo zfs destroy cartwheel/salesdata
$ sudo zfs destroy cartwheel/lxccontainers
$ sudo zfs list

如何删除zpool和所有存储在池中的名为cartwheel的数据?

$ sudo zpool destroy zpoolNameHere
$ sudo zpool destroy cartwheel
$ zpool status