Debian 上运行的专用服务器有两个 512 SSD,两者都是单个 RAID1 磁盘阵列的一部分。有很多指南可以在不丢失磁盘上任何数据的情况下实现这一点,但无法找到完整的指南来取消配置 RAID1、格式化其中一个磁盘、安装它们并在/etc/fstab
.
如果有人提供完整的指南,那对于像我这样的 Unix 新用户来说非常有用。
这些是一些命令的结果。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sda2 8:2 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
└─sda3 8:3 0 444.4G 0 part
└─md2 9:2 0 444.3G 0 raid1 /
sdb 8:16 0 477G 0 disk
├─sdb1 8:17 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sdb2 8:18 0 512M 0 part
│ └─md1 9:1 0 511.4M 0 raid1 /boot
└─sdb3 8:19 0 444.4G 0 part
└─md2 9:2 0 444.3G 0 raid1 /
# fdisk -l
Disk /dev/sdb: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0ba4900f
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 67110911 67108864 32G fd Linux raid autodetect
/dev/sdb2 67110912 68159487 1048576 512M fd Linux raid autodetect
/dev/sdb3 68159488 1000213167 932053680 444.4G fd Linux raid autodetect
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x31fd01ce
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 67110911 67108864 32G fd Linux raid autodetect
/dev/sda2 67110912 68159487 1048576 512M fd Linux raid autodetect
/dev/sda3 68159488 1000213167 932053680 444.4G fd Linux raid autodetect
Disk /dev/md0: 32 GiB, 34326183936 bytes, 67043328 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/md1: 511.4 MiB, 536281088 bytes, 1047424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/md2: 444.3 GiB, 477077241856 bytes, 931791488 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# blkid
/dev/sdb1: UUID="4374a69b-c5ca-ceee-bfd3-3df61d255a13" UUID_SUB="f1ca2293-d87d-83b8-dad9-aba968c25d0a" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="0ba4900f-01"
/dev/sdb2: UUID="4b93d869-e581-7187-70ca-c4f9e7668ed5" UUID_SUB="6921e275-a6f3-0e5f-52c6-37520265266e" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="0ba4900f-02"
/dev/sdb3: UUID="10c95f64-534c-e940-f016-77851637282b" UUID_SUB="003339b6-34c6-a11c-0f95-722934e2cd25" LABEL="rescue:2" TYPE="linux_raid_member" PARTUUID="0ba4900f-03"
/dev/sda1: UUID="4374a69b-c5ca-ceee-bfd3-3df61d255a13" UUID_SUB="865a9479-0077-b93e-fde5-62b4427eed93" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="31fd01ce-01"
/dev/sda2: UUID="4b93d869-e581-7187-70ca-c4f9e7668ed5" UUID_SUB="fade36f5-1a58-9645-4c8e-d3bbbadb2d4d" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="31fd01ce-02"
/dev/sda3: UUID="10c95f64-534c-e940-f016-77851637282b" UUID_SUB="75c16690-bce6-0f66-1a6f-4819b70fb1bd" LABEL="rescue:2" TYPE="linux_raid_member" PARTUUID="31fd01ce-03"
/dev/md0: UUID="2317882d-d15e-4879-8eab-8d37b77b717e" TYPE="swap"
/dev/md1: UUID="6ef84344-8aa2-4807-9486-4c98ab3aeffa" TYPE="ext3"
/dev/md2: UUID="a710dcc5-e25f-452b-bffd-486bb9eba812" TYPE="ext4"
这是/etc/fstab
:
proc /proc proc defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0
答案1
注意:这仅适用于 RAID 1,它是一个简单的线性镜像。
从 RAID 阵列中删除一个驱动器:
mdadm /dev/md0 --fail /dev/sdb1
mdadm /dev/md0 --remove /dev/sdb1
mdadm --zero-superblock /dev/sdb1
所有其他 md / sdb 分区也同样如此。然后你就可以做任何你喜欢的事情了/dev/sdb
。
至于 RAID,它已降级(2 个驱动器中的 1 个)。可以使其不降级(1 个驱动器中的 1 个):
mdadm --grow /dev/md0 --raid-devices=1 --force
这样 RAID 层仍然存在,而无需真正执行任何操作。但它让您可以选择在将来轻松添加第二个驱动器,从而恢复 RAID 操作。并且无需更改任何其他配置。
如果您想完全摆脱 RAID 1,则必须确定数据偏移量,然后相应地移动分区偏移量。
# mdadm --examine /dev/sda1
Data Offset : 2048 sectors
$ cat /sys/block/sda/sda1/start
2048
$ cat /sys/block/sda/sda1/size
268613632
在此示例中,数据偏移量为2048
,分区本身从 开始2048
并且268613632
很大。
您必须删除该分区并创建一个新分区2048+2048
- 268613632-2048
。即通过偏移扇区增加起始扇区并通过偏移扇区减少大小,因此分区的结束扇区保持不变。
您可以使用您选择的任何分区器来执行此操作,其中parted
:
# parted /dev/sda
) unit s
) print free
) rm 1
) print free
) mkpart primary 4096s 268611583s
) name 1 mynonraidroot
重新启动后,新分区现在应该直接指向文件系统,并且 RAID 本身将不再存在。 (如果您从救援系统执行此步骤,则也不需要重新启动,并且您也可以mdadm --zero-superblock /dev/sda1
在更改分区之前重新启动,假设您已经停止了 RAID)。
最后一步,您必须删除mdadm.conf
、更新引导加载程序和 initramfs,以消除对 RAID 设置的任何剩余引用。