今天接到一個排錯:一臺用作數據倉庫的服務器新加sas硬盤X2組raid1後無法正確識別,重啓後外掛的FC-SAN存儲線路也有一路不正常。
花了點時間去解決,順便寫個bolg記錄下來備忘:
1.變更原因是/dev/sda2掛載的/oradata 空間只剩13G需要增加空間
2.故障表現: 新加2T磁盤/dev/sdd1不能正常掛載,原有/dev/sdb1存儲線路異常
【排錯】
1.檢查發現/dev/sdd1 磁盤空間大小不符合2TB,反而和原有sdb1大小一致
同時原有存儲線路lun掛載狀態正常
從而判斷是由於直接在服務器上添加本地硬盤導致設備編號發生變化。
原有/dev/sdb1已變更爲/dev/sdd1,新加磁盤sdd1變更爲sdb1 。但是/etc/fstab 內原配置未調整導致掛載/dev/sdb1失敗提示找不到。
2.格式化新磁盤時候發現多次掛載失敗報錯爲:需要格式化文件系統多次才能正常掛載 ,而且格式化的最後一步特別緩慢,相關命令:
1. fdisk -l #檢查分區 2. mount #檢查掛載 3. parted /dev/sdb #GPT分區需要用parted命令進去配置 4.(parted)print #查看分區 5.如果還沒有創建 有標準執行步驟爲: mklabel gpt #設置分區格式爲GPT(支持大於2TB) mkpart primary 0% 100% #劃分主分區 給100%空間 可自行調整大小 quit 退出 /rm+ID 移除 6. mkfs.ext4 /dev/sdb1 |mkfs.ext3 -F /dev/sdb1 (格式化分區,ext3如果不指定block size的大小爲8K最大隻能支持到8TB,優選用ext4) 7. vi /etc/fstab #修改配置 手動mount避免失效
3.考慮到原先做的 LABEL= 不能輕易變動,容易導致系統啓動後報錯
所以使用以下命令
umount /dev/sda2 e2label /dev/sdb1 /oradata mount LABEL=/oradata /oradata vi /etc/fstab
創建掛載點 將原掛載轉移到/oradata_old ,reboot後總算正常了
PS: 由於原sda2有衝突需要在重啓前調整,否則會導致sdb1不能掛載成/oradata
全部搞完後結果如下圖:
總而言之,解決問題的方法往往很簡單,最花費時間和精力的,是找到問題所在。。