導讀 | 對大多數系統管理員來講擴充 Linux 服務器的磁盤空間是平常的工做之一。所以這篇文章會經過使用 Linux 命令,在 CentOS 7 系統上演示一些簡單的操做步驟來擴充您的磁盤空間而不須要重啓您的生產服務器。關於擴充和增長新的磁盤到 Linux 系統,咱們會說起多種方法和多種可行性,可按您所需選擇最適用的一種。 |
1. 在虛擬機客戶端擴充磁盤空間:linux
在爲 Linux 系統增長磁盤卷以前,您首先須要添加一塊新的物理磁盤,或在 VMware vShere、VMware 工做站以及你使用的其它虛擬環境軟件中進行設置來增長一塊虛擬磁盤的容量。
後端
2. 檢查磁盤空間:centos
運行以下命令來檢查當前磁盤空間大小。服務器
# df -h # fdisk -l
能夠看到,雖然咱們已經在後端給其增長到 50 GB 的空間,但此時的總磁盤大小仍然爲 10 GB。app
3. 擴展空間而無需重啓虛擬機ui
如今運行以下命令,經過從新掃描 SCSI (注:Small Computer System Interface 小型計算機系統接口)總線並添加 SCSI 設備,系統就能夠擴展操做系統的物理卷磁盤空間,並且不須要重啓虛擬機。this
# ls /sys/class/scsi_host/ # echo "- - -" > /sys/class/scsi_host/host0/scan # echo "- - -" > /sys/class/scsi_host/host1/scan # echo "- - -" > /sys/class/scsi_host/host2/scan
使用下面的命令來檢查 SCSI 設備的名稱,而後從新掃描 SCSI 總線。編碼
# ls /sys/class/scsi_device/ # echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
以下圖所示,會從新掃描 SCSI 總線,隨後咱們在虛擬機客戶端設置的磁盤大小會正常顯示。
操作系統
4. 建立新磁盤分區:教程
一旦在系統中能夠看到擴展的磁盤空間,就能夠運行以下命令來格式化您的磁盤以建立一個新的分區。請按以下操做步驟來擴充您的物理磁盤卷。
# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2) press the 'm' key for help Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table 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) Command (m for help):
鍵入'p'來查看當前的分區表信息,而後鍵入'n'鍵來建立一個新的主分區,選擇全部可用的扇區,使用't'命令改變磁盤類型爲'Linux LVM',而後選擇編碼 '8e' 或者默認不選,它默認的類型編碼爲 '83'。
如今輸入 'w' 來保存分區表信息而且退出命令環境,以下示:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
5. 建立物理卷:
根據上述提示,運行'partprob'或'kpartx'命令以使分區表生效,而後使用以下的命令來建立新的物理卷。
# partprobe # pvcreate /dev/sda3
要檢查新建立的卷,運行以下的命令能夠看出新的物理卷是否已經被建立,是否可用。接下來,咱們就可使用這個新的物理捲來擴展 'centos' 卷組了,以下示:
# pvdisplay # vgextend centos /dev/sda3
6. 擴展邏輯卷:
如今咱們使用以下的命令擴展邏輯卷,以增長咱們系統正使用的磁盤空間。
# lvextend -L +40G /dev/mapper/centos-root
一旦返回增長成功的消息,就能夠運行以下命令來擴展您的邏輯卷大小。
# xfs_growfs /dev/mapper/centos-root
'/' 分區的大小已經成功的增長了,可使用 'df' 命令來檢查您磁盤驅動器的大小。如圖示。
7. 經過增長新的磁盤來擴充根分區而不用重啓系統:
這是第二種方法,它使用的命令很是簡單, 用來增長 CentOS 7 系統上邏輯卷空間大小。因此第一步是打開您的虛擬機客戶端的設置頁面,點擊 ‘增長’ 按紐,而後繼續下一步操做。
選擇新磁盤所須要的配置信息,以下圖所示的,選擇新磁盤的大小和它的類型。
而後進入服務端重複以下的命令來掃描您的磁盤設備,以使新磁盤在系統中可見。
# echo "- - -" > /sys/class/scsi_host/host0/scan # echo "- - -" > /sys/class/scsi_host/host1/scan # echo "- - -" > /sys/class/scsi_host/host2/scan
列出您的 SCSI 設備的名稱:
# ls /sys/class/scsi_device/ # echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan # fdisk -l
一旦新增的磁盤可見,就能夠運行下面的命令來建立新的物理卷,而後增長到卷組,以下示。
# pvcreate /dev/sdb # vgextend centos /dev/sdb # vgdisplay
如今根據此磁盤的空間大小來擴展邏輯卷,而後添加到根分區。
# lvextend -L +20G /dev/mapper/centos-root # xfs_growfs /dev/mapper/centos-root # df -h
結論:
在 Linux CentOS 7 系統上管理磁盤分區的操做過程是很是簡單的,可使用這篇文章所述的操做步驟來擴充您的任意邏輯卷的磁盤空間。您不須要重啓生產線上的服務器,只是簡單的重掃描下 SCSI 設備,和擴展您想要的 LVM(邏輯卷管理)。咱們但願這文章對您有用。請隨意的發表有用的評論和建議。
免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/