我有一台 CentOS 7.7 服务器,其中/dev/sdc
挂载了一个 vhd(format-type=btrfs);它包含数据。
我将一个空的 vhd 连接到虚拟机,/dev/sdd
(我没有使用该磁盘进行分区fdisk
)
lsblk
命令列出了附加的磁盘但没有挂载点。
用过的,
mdadm --create /dev/md0 --level 0 --raid-devices=2 --name=/data-disk /dev/sdc /dev/sdd
输出:
mdadm:无法打开 /dev/sdc:设备或资源繁忙
问题:
/dev/sdc
当我尝试创建 RAID0 阵列时,磁盘中的数据会被清除吗?我可以发出
umount /dev/sdc
命令mdadm --create
,但这是执行此操作的正确方法吗?
=== 如果成功创建 RAID0 ===
将执行以下命令:
mkfs.btrfs /dev/md0
使用 uuid 信息编辑 /etc/fstab
===
尝试将两个磁盘添加到 RAID0,其中一个磁盘已设置为备份,其中包含数据。新磁盘已连接,可以看到正在使用的磁盘lsblk
,但
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 0 100G 0 disk /cass_backup
sdd 8:48 0 100G 0 disk
df -h
/dev/sdc 100G 82G 20G 20% /data_disk
已安装和未安装磁盘之间的数据分配如何完成?我需要先安装新的磁盘 (/dev/sdd) 吗?
答案1
将单个磁盘转换为 RAID0 阵列将休息您的文件系统。更准确地说,您首先需要小心地将数据分布/dev/sdc
到两个磁盘上。
您可以更轻松地创建 RAID1 阵列,因为 RAID1 在两个磁盘上都有相同的数据:参见将单驱动器系统转换为 RAID。
幸运的是你正在使用文件系统,它结合了文件系统、RAID 和 LVM 的功能。因此将第二个磁盘添加到你的 btrfs并将其转换为RAID0阵列。
编辑:对于您来说,转换为 RAID0 非常简单:挂载您原来的 btrfs 文件系统(比如说/mnt
)。扩展文件系统:
mount /dev/sdc /mnt
btrfs device add /dev/sdd /mnt
btrfs balance start -dconvert=raid0 -mconvert=raid0 /mnt
上的数据/dev/sdd
将会丢失,但是中的数据/dev/sdc
将会保留。