我使用我的Ubuntu机器作为使用Samba共享的Windows / Linux / Mac客户端的文件服务器。 我只需要添加更多硬盘就可以轻松扩展,而不必前后移动任何数据。
这是我迄今为止所做的。 我已经成功添加了第四个硬盘。 现在知道这应该怎么办了? 我做错了什么,或者我能做得更好?
我从三个空驱动器开始:/ dev / sdb,/ dev / sdc和/ dev / sdd。
首先,我为所有驱动器创build了空分区:
$ fdisk /dev/sdX n # Create a new partition p # Primary 1 # First partition [enter] # Starting point to first sector (default) [enter] # Ending point to last sector (default) t # Change partition type fd # Type: Linux raid autodetect w # Write changes to disc
当所有三个光盘都创build了空的RAID分区时,我创build了一个RAID5arrays:
$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
现在已经创build了RAID5arrays,并且已经build立了。 这需要时间,但您可以继续创build新的物理LVM2卷:
$ pvcreate /dev/md0
现在我们来创build一个新的卷组:
$ vgcreate vd_raid /dev/md0
然后,我们需要在该卷组内创build一个新的逻辑卷。 首先,我们需要确定创build的卷组的确切大小:
$ vgdisplay vg_raid
大小可以从表示物理范围中的“总体PE”的行中看出。 假设它是509.现在创build一个占用所有可用空间的新逻辑卷:
$ lvcreate -l 509 vg_raid -n lv_raid
最后,我们可以在该逻辑卷上创build一个文件系统:
$ mkfs.xfs /dev/mapper/vg_raid-lv_raid
为了能够使用我们新创build的RAIDarrays,我们需要创build一个目录并加载它:
$ mkdir /raid $ mount /dev/mapper/vg_raid-lv_raid /raid
现在可以使用了。 但是为了在重启后自动挂载,我们需要将RAID几何体保存到mdadm的configuration文件中:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
然后将以下行添加到自动挂载RAIDarrays的/ etc / fstab中:
/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1
现在RAIDarrays已经可以使用了,每次启动后自动挂载到/ raid目录。
让我们想象一下,现在你有一个新的驱动器/ dev / sde,你想添加到以前创build的数组,而不会丢失任何数据。
首先,新驱动器需要与所有其他驱动器一样进行分区:
$ fdisk /dev/sde n # Create a new partition p # Primary 1 # First partition [enter] # Starting point to first sector (default) [enter] # Ending point to last sector (default) t # Change partition type fd # Type: Linux raid autodetect w # Write changes to disc
然后它需要被添加到RAIDarrays:
$ mdadm --add /dev/md0 /dev/sde1
现在RAID5arrays包含四个驱动器,目前只有三个正在使用。 该arrays需要扩展到包括所有四个驱动器:
$ mdadm --grow /dev/md0 --raid-devices=4
然后需要扩展物理LVM2卷:
$ pvresize /dev/md0
现在默认调整物理卷的大小以覆盖RAIDarrays中的所有可用空间。 我们需要在物理范围内找出新的尺寸:
$ vgdisplay vg_raid
我们来设想一下新的尺寸现在是764(可以从“总体PE”中看出)。 现在展开逻辑卷来覆盖这个:
$ lvextend /dev/mapper/vg_raid-lv_raid -l 764
然后展开XFS文件系统。 这需要在文件系统联机和挂载时完成:
$ xfs_grow /raid
默认情况下,它被扩展到覆盖所有可用空间。 最后RAIDarrays几何需要更新,因为arrays现在包含一个新的磁盘。 首先从/etc/mdadm/mdadm.conf中删除添加的行,然后添加一行:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
我想你说得对。 确保你了解并注意到在man 8 mdadm增加RAID 5的警告。
就个人而言,如果我正在增长一个LVM卷,我不会增长现有的RAIDarrays来做到这一点。 我会创build另一个RAIDarrays,从中创build一个新的physvol,并将其添加到同一个卷组中。 这是一个更安全的操作(不涉及在整个新磁盘组中重写整个RAID5arrays),并保持arrays的大小。