本文最先發佈於 Rootrl's bloghtml
注:如下操做系統環境爲CentOS7linux
在操做前,首先要了解一些基本概念git
在Linux系統中全部的設備都會以文件的形式存儲。設備通常保存在/dev目錄下面,以sda、sda一、sda2 ...,sdb、sdb1...,hda,hdb。如今的設備通常都是sd命名,之前的很老的硬盤是以ha命名。
sda:第一塊硬盤,若是對磁盤進行了分區會有sda1(第一個分區),sda2等。
sdb:第二個硬盤,一樣對硬盤分區後有sdb1,sdb2等。github
分區的目的就是便於管理,好比在Windows系統咱們通常會分C盤,D盤,E盤等。vim
Linux只能建立4個主分區,若是須要建立更多的分區那麼久必須建立邏輯分區,其中邏輯分區須要佔用一個主分區。segmentfault
Linux中的文件系統也就是分區類型,在Windows中有NTEF,FAT32等,linux中常見的有Ext二、Ext三、Ext四、Linux swap、proc、sysfs、tmpfs等,能夠經過mount命名查看當前已掛載的文件系統。centos
在前面建立完分區後有一步是要對分區進行格式化,其實在Windows系統中也是同樣,在建立好一個分區後也須要將分區格式化,只有格式化成具體的文件類型才能使用。bash
在Windows中分區格式化後就可使用,可是在Linux系統中必須將分區掛載到具體的路徑下才能夠。操作系統
lsblk 查看當前磁盤狀況 df -lh 查看文件系統狀況 -l 查看掛載點 parted -l 會列出文件系統類型 fdisk -l 查看當前未掛載硬盤
掛載一個新硬盤基本思路是:建立分區、建立文件系統、掛載。.net
首先,查看硬盤情況:
fdisk -l
其中:
若是磁盤下面有相似:Disk /dev/sdc doesn't contain a valid partition table;或者說磁盤下面沒有相似於:sdb1 sdb2 說明該磁盤未掛載
這裏假設看到硬盤名爲 /dev/sdb
dfisk /dev/sdb
根據提示,依次輸入"n","p" "1",兩次回車,"wq"
意思就是新建一個主分區(1),大小是整個sdb磁盤,而後寫入。
注:上述操做爲了簡便,只是建立一個主分區。其實一個磁盤最多有四個主分區(包括一個擴展分區),1-4都是主分區,咱們也能夠把一個分區做爲擴展分區(經過df -lh 查看到的system爲Extended)
此時磁盤已經分區,可是尚未文件系統,磁盤依然不能用
mkfs.ext4 /dev/sdb
該命令會格式化磁盤並寫入文件系統
好比掛載到/data下面
mkdir /data # 若是存在此步省略 mount /dev/sdb /data
以上只是臨時掛載,還需設置爲開機自動掛載
vim /etc/fstab # 而後在內容結尾處增長一行(注意文件類型要對應): /dev/sdb /data ext4 defaults 0 0
若是你要用來掛載的目錄裏面並非空的,那麼掛載了文件系統以後,原目錄下的東西就會暫時的消失。並非被覆蓋掉,而是暫時的隱藏了起來,等到新分割槽被卸除以後,則原目錄本來的內容就會再次出來。
若是要永久掛載已有目錄,能夠在新硬盤建立文件系統後,先掛載到一個臨時目錄,而後把要擴展的目錄複製到這臨時目錄,而後刪除要擴展的目錄,再卸載臨時掛載點,從新掛載到要擴展的目錄上。舉例:
# 好比要擴充 /var # 在建立好文件系統後 新建臨時掛載點 storage mkdir /storage # 將/dev/sdb1掛載到/storage下 mount /dev/sdb1 /storage # 拷貝/var下的全部內容到新的硬盤 cp -pdr /var /storage # 或在/var 目錄下執行:find . -depth -print | cpio - pldvm /temp # 刪除當前/var目錄下的內容 rm -rf /var/* # 從新掛載硬盤到/var目錄 umount /dev/sdb1 mount /dev/sdb1 /var # 過程當中若提示磁盤忙,使用fuser找出將正在使用磁盤的程序並結束掉; fuser -m -v /var fuser -m -v -i -k /var
若是擴容比較頻繁,那推薦使用LVM管理(最後一個參考連接)
http://www.cnblogs.com/chenmh...
https://segmentfault.com/a/11...
https://blog.csdn.net/wzb56_e...
https://www.cnblogs.com/sourc...
http://www.cnblogs.com/gaojun...