使用活動實體磁碟區設定 RAID1(Debian 9stretch)

使用活動實體磁碟區設定 RAID1(Debian 9stretch)

我一直在嘗試遵循以下指南來設定 RAID1: https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch

我目前有兩個 6TB 硬碟,我直接在其中一個上建立了物理卷,另一個是全新且未受影響的。

sdc                8:32   0   5.5T  0 disk
├─DATA-user_data 254:0    0     4T  0 lvm
└─DATA-app_data  254:1    0     1T  0 lvm
sdd                8:48   0   5.5T  0 disk

物理sdc卷上有一個包含兩個邏輯卷的捲組

root@server:# pvscan
  PV /dev/sdc   VG DATA            lvm2 [5.46 TiB / 469.03 GiB free]
  Total: 1 [5.46 TiB] / in use: 1 [5.46 TiB] / in no VG: 0 [0   ]
root@server:# vgscan
  Reading volume groups from cache.
  Found volume group "DATA" using metadata type lvm2
root@server:# lvscan
  ACTIVE            '/dev/DATA/user_data' [4.00 TiB] inherit
  ACTIVE            '/dev/DATA/app_data' [1.00 TiB] inherit

我已經在指南中需要將分區表從 複製sdcsdd,但是當然這是不可能的,因為sdc上面沒有分區表。

如何使用sdc和設定 RAID1 sdd

答案1

可以透過加入sddVG來建立鏡像卷

pvcreate /dev/sdd
vgextend DATA /dev/sdd

然後更改每個LV的副本數量

lvconvert -m1 DATA/user_data
lvconvert -m1 DATA/app_data

(1表示兩份數據,0表示一份)您可以透過以下指令查看鏡像進度:

lvs -a -o name,copy_percent,devices DATA

答案2

嗯,懶惰的選項是簡單地採用當前配置,/dev/sdd按原樣添加到 LVM,然後讓 LVM 本身為您處理 RAID。這意味著mdadm根本不參與(至少不是直接參與)。看看羅密歐的回答,這是一個很好的答案。

如果您想使用mdadm,儘管這並非不可能(在磁碟末尾使用 1.0 版元資料),但合適的方式這樣做的方法是分割區/dev/sddmdadm在分割區上放置 RAID,在 RAID 上放置 LVM,然後將資料遷移過來。一旦您確認副本完好,您就可以解散/dev/sdc,以相同的方式對其進行分區,然後將其添加到 RAID 中。

大致:

# partition step
parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart md0_0 1MiB -1MiB
(parted) print free
(parted) quit

# mdadm step
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --detail --scan > /etc/mdadm.conf

# lvm step (rsync variant, two independent copies)
vgcreate RAIDDATA /dev/md0
lvcreate ...
mkfs ...
mount ...
# LV structure and filesystems as you see fit, then copy everything over
rsync -a /mnt/DATA/. /mnt/RAIDDATA/.

# alternative lvm step (pvmove variant, single copy)
vgextend DATA /dev/md0
pvmove /dev/sdc
vgreduce DATA /dev/sdc

使用 遷移檔案rsync應該更快、更安全(出現任何問題,原始副本仍然存在)。同時它很容易出現用戶錯誤(很難判斷是否rsync遺漏了某些內容)。

遷移資料速度pvmove較慢且風險較高(出現任何問題,原始副本也會遺失),但不會遺失任何內容(包括已刪除的文件等)。

此時,您想要更新 fstab / grub 中的 UUID(如果您使用了 mkfs、rsync)並更新 initramfs。重新啟動並驗證一切是否正常且/dev/sdc不再使用。然後您就可以將其新增至 RAID 。

# partition step
parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart md0_1 1MiB -1MiB
(parted) print free
(parted) quit

# raid resync step
mdadm /dev/md0 --add /dev/sdc1
watch -n 60 cat /proc/mdstat

就是這樣......

總而言之,它將為您提供大多數人期望的設定(硬碟、分割區、raid、lvm、檔案系統)。您也可以在使用時新增加密。 ;-)

相關內容