2017年8月4日 星期五

Ubuntu 16.04將開機硬碟變成RAID-1

原本的系統安裝在/dev/sda上面,想要把這個系統多加入一個大小一樣的硬碟/dev/sdb,然後讓兩個硬碟變成RAID-1(Mirror)。原本的硬碟上面有三個分割區:

  • /dev/sda1:BIOS Boot Partition
  • /dev/sda2:掛載到/boot
  • /dev/sda3:掛載到/

依照下面的方式做即可達到目的:
  1. 將/dev/sda的分割方式複製到/dev/sdb上
    參考《Linux上將硬碟弄成GPT分割區》
    • sgdisk -R /dev/sdb /dev/sda
  2. 用mdadm做出RAID-1(mirror)
    參考《用mdadm做RAID-1(mirror)》
    《用mdadm做/boot要注意metadata》
    • mdadm -C /dev/md2 -l 1 --metadata=0.90 -n 2 /dev/sdb2 missing
    • mdadm -C /dev/md3 -l 1 -n 2 /dev/sdb3 missing
    • mdadm --detail --scan >> /etc/mdadm/mdadm.conf
    • mkfs.ext4 -L BOOT /dev/md2
    • mkfs.ext4 -L ROOT /dev/md3
  3. 將/dev/sda裡面的內容拷貝到用/dev/sdb製作的RAID上面
    參考《用cpio轉移資料》
    • mount /dev/md3 /mnt
    • cd / && find . -xdev | cpio -pmv /mnt
    • mount /dev/md2 /mnt/boot
    • cd /boot && find . -xdev | cpio -pmv /mnt/boot
  4. 用chroot跳到RAID上面,設定開機需要的東西
    參考《用grub讓硬碟可開機》
    《安裝GRUB到硬碟上再驗證》
    • mount --bind /proc /mnt/proc
    • mount --bind /sys /mnt/sys
    • mount --bind /dev /mnt/dev
    • chroot /mnt
    • blkid    (根據此資料修改/etc/fstab的內容)
    • update-initramfs -u
    • update-grub
    • grub-install --recheck /dev/sdb
    • dd bs=512 count=1 if=/dev/sdb 2>/dev/null | strings
  5. 用exit指令跳出chroot,重開機設定BIOS開機硬碟是/dev/sdb
  6. 重開機後,確認無誤以後,在用mdadm把/dev/sda加到RAID-1裡面
    • mdadm --add /dev/md2 /dev/sda2
    • mdadm --add /dev/md3 /dev/sda3
    • grub-install --recheck /dev/sda
      dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
  7. 再次重開機,設定BIOS從/dev/sda開機


其他參考資料

_EOF_

Postprocess upscale by: 2.5, Postprocess upscaler: R-ESRGAN 4x+

Time taken: 21.2 sec. on Nvidia MX550
A: 0.57 GB, R: 1.00 GB, Sys: 1.5/2 GB (75.3%)

Parisian luxurious interior penthouse bedroom, dark walls, wooden panels

Steps: 27, Sampler: Euler, CFG scale: 7, Seed: 3712396757, Size: 512x256, Model hash: fc2511737a, Model: chilloutmix_NiPrunedFp32Fix, Version: v1.6.1

Time taken: 2 min. 1.2 sec. on Nvidia MX550
A: 1.70 GB, R: 2.26 GB, Sys: 2.0/2 GB (100.0%)

沒有留言:

張貼留言