mdadm:
-c / --creat:建立乙個新的陣列
-a:啟用磁碟陣列
-d / --detail:列印陣列裝置的詳細資訊
-s / --scan:掃瞄配置檔案或/proc/mdstat得到陣列缺失資訊
-f:將裝置狀態定位故障
-a / --add:新增裝置到陣列
同意建立裝置,如不加此引數時必須先使用mknod命令來建立乙個raid裝置,
不過推薦使用-a yes引數一次性建立;
-v / --verbose:顯示詳細資訊
-r:移除裝置
-l / --level=0 1 4 5 6:設定陣列的級別,陣列模式,支援的陣列模式有linear, raid0,
raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n / --raid-devices=:指定陣列成員(分割槽/磁碟)的數量(活動盤的數量)
-x / --spare-devicds=:指定陣列中熱備盤的數量。陣列中活動磁碟的數目,
加上備用磁碟的數目應該等於陣列中總的磁碟數目;
-c / --chunk:設定陣列的塊chunk大小,單位為kb
-g /--grow:改變陣型大小或形態(將活動盤轉換為熱備盤,熱備盤轉換為活動盤)
參與建立陣列的磁碟名稱:可以用{},【】
例:/dev/sd1 或者 /dev/sd[b,c]1
1、建立raid0
(1)新建分割槽:需要兩塊硬碟,/dev/sdb和/dev/sdc
fdisk /dev/sdb(/dev/sdc) -->n,新建分割槽(只建立乙個p即可,全部大小)-->p,檢視分割槽
(2)修改分割槽型別:預設型別為83:linux
將其改為raid型別:t(修改型別)--> l,檢視型別列表 -->fd:linux raid auto -->p,檢視分割槽
(3)儲存分割槽:w
(4)檢視狀態:fdisk -l /dev/sdb /dec/sdc(可同時檢視多個磁碟)
(5)開始建立raid0:
mdadm -c /dev/md0 -ayes -l0 -n2 /dev/sd1
(6)檢視raid0狀態:
1)cat /proc/mdstat
2)mdadm -d /dev/md0:列印列陣/dev/md0的詳細資訊
(7)建立raid配置檔案/etc/mdadm.conf(配置檔案必須建立,且輸入內容)
建立/etc/mdadm.conf
# echo device /dev/sd1 >> /etc/mdadm.conf
# mdadm –ds >> /etc/mdadm.conf
(8)格式化磁碟陣列:
mkfs.ext4 /dev/md0
(9)建立掛載點並掛載
mkdir/mnt/raid0
mount /dev/md0 /mnt/raid0
寫入/etc/fstab
為了下次開機還能正常使用我們的raid裝置,需要將掛載的資訊寫入/etc/fstab檔案中。
然後重啟reboot ,再df -h
2、建立raid1
(1)新建分割槽並修改分割槽型別為(raid0)
(2)開始建立raid1:
mdadm -c /dev/md1 -ayes -l1 -n2 /dev/sd[d,e]1
(3)檢視raid1狀態:
1)cat /proc/mdstat
2)mdadm -d /dev/md1:列印列陣/dev/md1的詳細資訊
(4)新增raid1 到raid 配置檔案/etc/mdadm.conf並修改
# echo device /dev/sd1 >> /etc/mdadm.conf
# mdadm –ds >> /etc/mdadm.conf
(5)格式化磁碟陣列
mkfs.ext4 /dev/md1
(6)建立掛載點並掛載
mkdir/mnt/raid1
mount /dev/md1 /mnt/raid1/
將掛載的資訊寫入/etc/fstab檔案中。然後重啟reboot ,再df -h
3、建立raid5
這四塊硬碟,三塊做為活動盤,另一塊做為熱備盤。
(1)新建分割槽並修改分割槽型別為(raid0)
(2)建立raid5
mdadm -c /dev/md5 -ayes -l5 -n3 -x1 /dev/sd[f,g,h,i]1
(3)檢視raid5狀態:
1)cat /proc/mdstat
2)mdadm -d /dev/md5:列印列陣/dev/md5的詳細資訊
(4)新增raid5 到raid 配置檔案/etc/mdadm.conf並修改
# echo device /dev/sd1 >> /etc/mdadm.conf
# mdadm –ds >> /etc/mdadm.conf
(5)格式化磁碟陣列
mkfs.ext4 /dev/md5
(6)建立掛載點並掛載
mkdir /mnt/raid5
mount /dev/md5 /mnt/raid5/
將掛載的資訊寫入/etc/fstab檔案中。然後重啟reboot ,再df -h
4、raid維護
(1)啟動陣列:
mdadm -as /dev/md0
-a:啟用已存在的陣列
-s:以/etc/mdadm.conf配置檔案為依據
若沒有建立mdadm.conf配置檔案(或檔案有誤):
mdadm –a /dev/md0 /dev/sd[bc]1
(2)停止陣列
mdadm -s /dev/md0
(3)顯示陣列詳細資訊
mdadm -d /dev/md0
5、模擬raid5 中磁碟損壞來講解軟raid 的維護操作
(1)往/mnt/raid5 掛載目錄中,寫入測試資料(建立的文件要大,用dd)
cd /mnt/raid5
dd if=/dev/zero of=test_raid5.failed bs=100g count=1
test_raid5.failed
test_raid5.fail
(2)模擬磁碟損壞,/dev/sdh1 模擬為出現故障的磁碟
mdadm /dev/md5 -f /dev/sdh1
(3)檢視重建狀態(必須第一時間檢視,否則就修復好了)
當有標記為故障磁碟的時候,熱備盤會自動頂替故障磁碟工作,
陣列也能夠在短時間內實現重建。通過檢視"/proc/mdstat" 檔案可以看到
當前陣列的狀態
cat /proc/mdstat
mdadm -d /dev/md5
(4)檢視之前寫入的測試資料是否存在(應為正常,不丟失)
test_raid5.faild 和 test_raid5.fail
(5)重建完畢之後檢視陣列狀態(應為恢復正常)
cat /proc/mdstat
(6)移除損壞的磁碟
mdadm /dev/md5 -r /dev/sdh1
(7)新加熱備磁碟
將剛才模擬損壞的硬碟新加到raid5中
mdadm /dev/md5 -a /dev/sdh1
(8)檢視raid5陣列狀態
mdadm -d /dev/md5---->/dev/sdh1已經變為熱備盤
6、向raid中增加儲存硬碟
(1)新加一塊硬碟(加的為熱備盤)
mdadm /dev/md5 -a /dev/sdj1
(2)將熱備盤轉換成活動盤
mdadm -g /dev/md5 -n4
(3)對檔案系統進行擴容(即總容量重新整理一下,加上新增的盤的容量)
df -h
resize2fs /dev/md5
df -h
(4)修改配置檔案/etc/mdadm.cong
(5)重啟reboot
7、軟體磁碟陣列的刪除
(1)停止raid
mdadm--stop /dev/md0
mdadm--misc--zero-superblock /dev/sdb (/dev/sdb為/dev/md0中的盤)
mdadm--misc--zero-superblock /dev/sdc (/dev/sdc為/dev/md0中的盤)
mdadm--misc--zero-superblock /dev/sdd (/dev/sdd為/dev/md0中的盤)
(2)為了防止系統啟動時候啟動raid
vim /etc/mdadm.conf 配置檔案中把該裝置相關的資訊刪除
(3)減少raid中的磁碟數量
使用 mdadm 的 grow 模式
第五章第二節 雜湊開放定址法
開放定址雜湊法 是另一種不用鍊錶解決衝突的方法,在開放定址雜湊演算法系統中,如果有衝突發生,那麼就要嘗試選擇另外的單元,直到找出空的單元為止。公式 hi x hash x f i mod tablesize 關鍵字x的位置等於 hash函式返回的位置在加上f i 的位置 mod tablesize ...
第五章 5 1節練習
練習5.1 什麼是空語句?什麼時候會用到空語句?解答 引用 空語句就是含有乙個單獨分號的語句。引用 如果在程式的某個地方,語法上需要一條語句但是邏輯上不需要,此時應該使用空語句。練習5.2 什麼是塊?什麼時候會用到塊?解答 引用 復合語句是指用花括號括起來的語句和宣告的序列,復合語句也被稱作塊。引用...
第二章 第二節 注釋
零 怎麼編寫注釋 編寫注釋的方式有三種 1.以 開頭 2.以三個 開頭和結尾 3.以三個 開頭和結尾 定義乙個字串變數 name 張三 定義乙個函式 defgetname return name defsetname n param n 姓名 return name n defsetage age ...