Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

作者: 日落

在 Linux 上用 mdadm 建立磁碟陣列 (RAID)

Posted on 2022 年 1 月 11 日2022 年 9 月 19 日 By 日落 在〈在 Linux 上用 mdadm 建立磁碟陣列 (RAID)〉中有 1 則留言

手上已有一台現成的 NAS,不過自己從頭跑一次才會知道細節。

格式化磁碟

其實使用 mdadm 建立磁碟陣列之前,並不一定需要先建立磁碟分割區,也可以直接使用整顆硬碟直接做。二種作法僅有些微差異,詳細內容可以參考 kernal.org 的討論。

假設除了基本硬碟 sda 以外,其他還有 sdb1、sdc1、sdd1、sde1、sdf1、sdg1 共 6 個分割區要格式化為 ext4,一個方法是 mkfs.ext4 一個一個硬碟慢慢來,另一個是寫 script 自動處理。以下範例是除了 sda 以外的所有分割區都格式化為 ext4:

# 沒看懂前不要複製貼上,很危險
for DEV in $(ls sd*1 | grep -v sda); do
    yes y | sudo mkfs.ext4  $DEV
done

建立 RAID

東西準備好以後,就可以換 mdadm 上場了。

建立新的 RAID 用的是參數 --create,指令大致如下:

mdadm --create /dev/md/md0 \
      --level=6 \
      --raid-devices=6 \
      /dev/sd[bcdefg]1
  • /dev/md/md0:磁碟陣列建立以後欲使用的 device name。除了 md0 以外,也可以用 md_home 等較為易懂的方式命名。
  • --level:要使用什麼類型的磁碟陣列。RAID 1 (mirror) 就給 --level=1;RAID 6 就給 --level=6
  • --raid-devices:這個磁碟陣列總用要用幾個 device 來建立。由於建立 RAID 時,不一定一次就要給足硬碟,所以這個參數要給正確。
  • /dev/sdX:要用來建立 RAID 的硬碟、或磁碟分割。把 device ID 當作參數一個一個補齊 (範例是偷懶的寫法)

如果一切正常,就不會顯示錯誤訊息,且可以透過 /proc/mdstat 來檢視 RAID 建立的進度:

....
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md/md-main started.

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md127 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1] sdb1[0]
      121024512 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [=>...................]  resync =  5.2% (1573464/30256128) finish=88.5min speed=5397K/sec
      
unused devices: <none>

RAID 建立完成後,會在 /dev 變成一個 device,把 RAID 的資訊寫入 mdadm.conf 設定檔中:

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

在 mount 之前,記得先用 mkfs 格式化。

一切都順利的話,可以在 /dev/disk/by-uuid 看到新的 UUID,接著就可以使用一般的方式去 fstab 設定自動掛載的資料了。

參考資料:A guide to mdadm – Linux Raid Wiki

刪除 RAID

步驟為:停止 RAID => 刪除 RAID。

使用 --stop 來停止、umount RAID md0:

mdadm --stop /dev/md/md0

mdadm 會在硬碟中寫入 metadata 來識別資訊,可以使用 lsblk 看出來:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME          SIZE FSTYPE            TYPE MOUNTPOINT
loop0        60.7M squashfs          loop /snap/lxd/21843
....
sda         238.5G                   disk
├─sda1         60G btrfs             part /var/lib
└─sda2      178.5G btrfs             part
sdb          28.9G linux_raid_member disk
sdc          28.9G linux_raid_member disk
sdd          28.9G linux_raid_member disk
sde          28.9G linux_raid_member disk
sdf          28.9G linux_raid_member disk
sdg          28.9G linux_raid_member disk

接下來使用 --zero-superblock 來把 metadata 清乾淨:

mdadm --zero-superblock /dev/sd[bcdefg]1

最後再用 lsblk 確定一次,只要沒有出現 linux_raid_member 就可以放心將硬體資源挪作他用了。

參考資料:How to Remove mdadm RAID Devices – redhatlinux.guru

Tags:Linux

Linux 中用來接 UPS 的工具

Posted on 2022 年 1 月 11 日2022 年 1 月 11 日 By 日落 在〈Linux 中用來接 UPS 的工具〉中尚無留言

用來和 APC UPS 溝通的工具是 apcupsd。另外一個工具是 upsmon (在 nut-client package 中)。

在 Ubuntu 下安裝:

sudo apt install apcupsd nut-client
Tags:Linux, UPS

Sony Xperia 5 III 使用心得

Posted on 2022 年 1 月 9 日2022 年 1 月 9 日 By 日落 在〈Sony Xperia 5 III 使用心得〉中有 2 則留言

舊的 Xperia XZ3 電池續航力降低,很給力得退役了,改用號稱電湯匙的 Xperia 5 III,用了差不多一個月,沒有大家說的那麼刺激,來簡單記錄的優缺點。

Sony Xperia 5 III 的定價約 30000 元,覺得已經超過一隻可以撐二年的手機預算 (市面上 Android 手機的作業系統頂多持續更新二年,不再提供更新以後差不多就是該買新機的時候了),但手機在相機、電池、螢幕等地方給了相當大的殺必死,特別是我靠北很久的 USB Type C 耳機孔給改回來了。

More “Sony Xperia 5 III 使用心得” »

Tags:Sony, Xperia

Sony Xperia 5 III 通知音效

Posted on 2022 年 1 月 9 日2022 年 1 月 9 日 By 日落 在〈Sony Xperia 5 III 通知音效〉中尚無留言

不知道為什麼 Xperia 5 III 內建的通知音效,和其他 App 的音效比起來小聲很多。乾脆自己錄音然後把聲音調大聲,目前音量抓和 LINE 通知音效大約相同:

如果你也覺得聲音太小,可以考慮從這裡下載調過音量的音效回去使用。

Tags:Sony

水質檢測

Posted on 2022 年 1 月 9 日2022 年 1 月 9 日 By 日落 在〈水質檢測〉中尚無留言

隨便買了一隻水質檢測筆,水質測試的單位為 ppm,所以若經過逆滲透過濾出來的水,水中的雜質應該會在 20 ppm 或是更低。

租屋處屋齡約 30 年的水龍頭出水水質約 140 ppm,經過 BRITA 濾水器以後約 100 ppm。房東給共用的飲水機在 20ppm,表示有經過逆滲透,且有定期更換濾芯。看來暫時不用自己處理水過濾的問題了。

備註:低 ppm 代表水中雜質比率較低,但不但表不含菌,建議仍先煮沸後再飲用。

Tags:生活雜記

文章分頁

上一頁 1 ... 45 46 47 ... 318 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.