Linux伺服器增加硬碟操作記錄
- 2019 年 12 月 25 日
- 筆記
概述
最近我們實驗室的GPU伺服器數據空間不夠用了,老師讓我聯繫公司來增加硬碟。我這裡記錄一下對Amax公司生產的GPU伺服器增加硬碟的步驟。 機器的參數:
- 作業系統:Ubuntu 14.04
- 顯示卡: Nvidia Tesla K80
- 機器廠商: Amax
- 是否有RAID: 有
配置RAID
RAID(Redundant Array of Independent Disks),即獨立硬碟冗餘陣列,是一種管理較大空間硬碟陣列的方法,常見的RAID方式到RAID 0-RAID 6,簡單的來講可以這樣理解:
- RAID 0: 數據不做備份操作,每塊盤都可以存儲數據
- RAID 1: 將一半的磁碟作為鏡像磁碟,空間利用率只有50%,但是允許有一半的磁碟壞掉(壞掉後備份盤可以繼續使用)
- RAID 5: 使用1塊盤作為備份,別的盤可以正常存取數據 關於RAID 各種方式的細節,可以看這裡。 因為我們想讓數據盤儘可能被充分地利用,所以我們採用RAID 0。 將硬碟插入到插槽後,開機啟動伺服器,就可以進入RAID的設置。在設置頁面中,選擇「Configuration Wizard」開始設置。具體的設置內容可以參看這篇部落格。
對硬碟分區
設置好RAID後,重啟進入系統,查看新加的硬碟。 通過sudo fdisk -l
可以查看所有連接的系統的硬碟,而df -h
則只顯示掛載到系統的硬碟,所以查看前者中有而後者中不存在的硬碟,比如/dev/sdf
,就是我們新加的硬碟。 找到新加的硬碟後,我們採用sudo fdisk /dev/sdf
命令來對/dev/sdf硬碟創建分區表,輸入該命令後,結果如下:
~ ᐅ sudo fdisk /dev/sdf Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x083d94fb. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. 命令(輸入 m 獲取幫助):
根據提示,我們輸入m,得到如下回饋:
命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(輸入 m 獲取幫助):
可以看到列出了所有可能的選項。我們這裡輸入n,得到輸出:
Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p):
因為我們在新加的硬碟上只創建一個分區,而且新加的盤用作數據盤,不會作為啟動分區,所以選Primary 分區和extended分區都沒關係。從這裡開始,我們所有的操作都可以選擇默認,即每次都是按Enter
鍵到下一步。到所有設置到完成後,fdisk命令會創建分區,大概需要等1分鐘。
格式化硬碟
創建好分區表後,需要格式化硬碟,將Linux的文件系統應用到硬碟上,硬碟才能存儲數據。格式化硬碟採用的是mkfs
命令。 目前Linux常用的文件格式是ext3和ext4,其中ext4是ext3的後續版本,對後者進行了一些改進,例如最大文件變成16TB、最大子目錄數高達64000個等。具體的改進請參考這裡。使用mkfs命令時,可以使用-t 選項制定文件格式。不指定默認的文件格式是ext2。 所以我們這裡的命令是:
sudo mkfs -t ext4 /dev/sdf
對於彈出的問題,選擇y
即可,可以看到會寫入inode數等操作,進行格式化。
掛載硬碟
硬碟格式化後,只要掛載到系統就可以正常使用了。接下來的操作就跟插硬碟或U盤到伺服器上時的操作一樣,先創建一個目錄,然後將硬碟掛載到該目錄,然後就可以在掛載後的目錄裡面寫入或讀出文件了,所有操作都在會在硬碟上進行。具體命令如下:
sudo mkdir /data5 sudo mount /dev/sdf /data5 sudo chmod -R 777 /data5
注意最後一步需要修改文件夾的許可權,否則伺服器上的其他用戶沒有讀寫的許可權。
將掛載資訊寫入到fstab
如果只執行了掛載操作而不將硬碟的掛載操作寫入到/etc/fstab
中,則下次重啟的時候,需要手動掛載,而用戶對於/data5目錄是無法進行讀寫操作的。所以接下來我們需要將掛載操作命令寫入到/etc/fstab
文件中。 fstab命令的寫法有兩種,一種是採用UUID,如:
UUID=8aeec127-62bd-4e7a-2020-5a5024f27a22 /data1 ext4 defaults 0 0
這種格式,其中硬碟對應的UUID號可以通過命令sudo file -sL /dev/sdf
得到。關於fstab命令後面參數的含義,請參見我的另一篇部落格。 另外一種格式就是用/dev/sdf
來代替UUID,即一條記錄如下:
/dev/sdf /data5 ext4 defaults 0 0
添加該記錄到/etc/fstab
文件後,下次重啟,硬碟也會自動掛載。 至此,我們的任務就算大功告成了,希望對你有所幫助。