我们有一台服务器,该服务器在 raid 1 中设置了 ubuntu 软件 raid 设置,配有 2 个 6TB 硬盘,这样我们就有 6TB 的可用存储空间并进行了备份,因此如果其中一个硬盘出现故障,我们也能安然无恙。我想添加 2 个 4TB 硬盘,将可用空间增加到 10TB,因为我们的服务器快满了。我该怎么做?我知道将它们添加到当前 raid 阵列实际上会导致总共只有 4TB 的可用空间,因为它会尝试镜像 4 个驱动器上的数据。
在这种情况下我需要添加新的 raid 阵列吗?
目前在服务器上运行的结果mdadm -D /dev/md0
如下:
/dev/md0:
Version : 1.2
Creation Time : Wed Apr 20 15:54:49 2016
Raid Level : raid1
Array Size : 5850527552 (5579.50 GiB 5990.94 GB)
Used Dev Size : 5850527552 (5579.50 GiB 5990.94 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun Apr 9 01:38:21 2017
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : lazarus:0 (local to host lazarus)
UUID : 1853e775:0771cfa7:d64ea77b:9f222c27
Events : 2274
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3
的输出lsblk
为:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 5.5T 0 disk
├─sda1 8:1 0 94M 0 part /boot
├─sda2 8:2 0 9.3G 0 part
│ └─md1 9:1 0 18.6G 0 raid0 [SWAP]
└─sda3 8:3 0 5.5T 0 part
└─md0 9:0 0 5.5T 0 raid1 /
sdb 8:16 0 5.5T 0 disk
├─sdb1 8:17 0 94M 0 part
├─sdb2 8:18 0 9.3G 0 part
│ └─md1 9:1 0 18.6G 0 raid0 [SWAP]
└─sdb3 8:19 0 5.5T 0 part
└─md0 9:0 0 5.5T 0 raid1 /
sr0 11:0 1 1024M 0 rom
硬盘还没有放入底盘,以防人们认为是这种情况。
答案1
我会为自己这样做:
- 备份所有重要数据。
- 通过安装包为您的系统添加 LVM 支持
lvm2
。 - 将两个新磁盘插入服务器并在其上创建级别 0 的 RAID。您将暂时获得 8Tb 的可用空间。例如 md5。
- 查找存放大多数数据的目录。例如
/var/lib/ftproot
。 - 启动自系统救援光盘或从系统安装 CD/DVD 以救援模式进行。
- 创建新目录
/mnt/temp
并在其中安装新的 raid md5。 - 将数据从 移动
/var/lib/ftproot
到/mnt/temp
。 - 将根文件系统转换为
md0
。 - 缩小 raid 设备 md0。
- 缩小分区
/dev/sda3
并/dev/sdb3
- 在可用磁盘空间上创建新的分区
/dev/sda4
。/dev/sdb4
- 创建
md3
级别 1(镜像)的新 RAID 设备。 - 通过命令创建新的LVM物理卷:
pvcreate /dev/md3
。 - 通过命令创建新的LVM卷组:
vgcreate VG0 /dev/md3
。 ftproot
使用命令创建名称为 5Tb 的新 LVM 卷:lvcreate -L 5000G -n ftproot VG0
。- 在新的 LVM 卷上创建 xfs 文件系统:
mkfs -t xfs /dev/VG0/ftproot
- 创建目录
/mnt/ftproot
并在那里挂载新的文件系统:mount /dev/VG0/ftproot /mnt/ftproot
。 - 将所有数据从 移动
/mnt/temp
到/mnt/ftproot
。 - 添加到
fstab
新的挂载点:echo "/dev/VG0/ftproot /var/lib/ftproot xfs defaults 0 0" >> /etc/fstab
- 卸载
/mnt
目录中的所有内容并重新启动服务器以从磁盘启动。 - 删除 RAID 设备
md5
。 md5
创建级别 1(镜像)的新 RAID 设备。- 通过命令在其上创建新的LVM物理卷:
pvcreate /dev/md5
。 - 将新的物理卷添加到现有的 LVM 卷组:
vgextend VG0 /dev/md5
- 在线将 LVM 卷的
ftproot
大小增加到 8000Gb(通过示例)lvresize -L 8000G /dev/VG0/ftproot
:。 - 将 xfs 文件系统的大小增加到
ftproot
最大在线大小:xfs_growfs /dev/VG0/ftproot
。
就这些了... 小心使用命令。这只是一个示例。您也可以阅读使用 GPT 分区布局调整 RAID 分区大小,无需 LVM.XFS
文件系统比更适合处理大文件ext4
,但其大小无法减小。