天天看點

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

對大多數系統管理者來說擴充 linux 伺服器的磁盤空間是日常的工作之一。是以這篇文章會通過使用 linux 指令,在 centos 7 系統上示範一些簡單的操作步驟來擴充您的磁盤空間而不需要重新開機您的生産伺服器。關于擴充和增加新的磁盤到 linux 系統,我們會提及多種方法和多種可行性,可按您所需選擇最适用的一種。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

<a></a>

在為 linux 系統增加磁盤卷之前,您首先需要添加一塊新的實體磁盤,或在 vmware vshere、vmware 工作站以及你使用的其它虛拟環境軟體中進行設定來增加一塊虛拟磁盤的容量。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

運作如下指令來檢查目前磁盤空間大小。

<code># df -h</code>

<code># fdisk -l</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

可以看到,雖然我們已經在後端給其增加到 50 gb 的空間,但此時的總磁盤大小仍然為 10 gb。

現在運作如下指令,通過重新掃描 scsi (注:small computer system interface 小型計算機系統接口)總線并添加 scsi 裝置,系統就可以擴充作業系統的實體卷磁盤空間,而且不需要重新開機虛拟機。

<code># ls /sys/class/scsi_host/</code>

<code># echo "- - -" &gt; /sys/class/scsi_host/host0/scan</code>

<code># echo "- - -" &gt; /sys/class/scsi_host/host1/scan</code>

<code># echo "- - -" &gt; /sys/class/scsi_host/host2/scan</code>

使用下面的指令來檢查 scsi 裝置的名稱,然後重新掃描 scsi 總線。

<code># ls /sys/class/scsi_device/</code>

<code># echo 1 &gt; /sys/class/scsi_device/0\:0\:0\:0/device/rescan</code>

<code># echo 1 &gt; /sys/class/scsi_device/2\:0\:0\:0/device/rescan</code>

如下圖所示,會重新掃描 scsi 總線,随後我們在虛拟機用戶端設定的磁盤大小會正常顯示。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

一旦在系統中可以看到擴充的磁盤空間,就可以運作如下指令來格式化您的磁盤以建立一個新的分區。請按如下操作步驟來擴充您的實體磁盤卷。

<code># fdisk /dev/sda</code>

<code>welcome to fdisk (util-linux 2.23.2) press the 'm' key for help</code>

<code>command (m for help): m</code>

<code>command action</code>

<code>a toggle a bootable flag</code>

<code>b edit bsd disklabel</code>

<code>c toggle the dos compatibility flag</code>

<code>d delete a partition</code>

<code>g create a new empty gpt partition table</code>

<code>g create an irix (sgi) partition table</code>

<code>l list known partition types</code>

<code>m print this menu</code>

<code>n add a new partition</code>

<code>o create a new empty dos partition table</code>

<code>p print the partition table</code>

<code>q quit without saving changes</code>

<code>s create a new empty sun disklabel</code>

<code>t change a partition's system id</code>

<code>u change display/entry units</code>

<code>v verify the partition table</code>

<code>w write table to disk and exit</code>

<code>x extra functionality (experts only)</code>

<code></code>

<code>command (m for help):</code>

鍵入 'p' 來檢視目前的分區表資訊,然後鍵入 'n' 鍵來建立一個新的主分區,選擇所有可用的扇區。 使用 't' 指令改變磁盤類型為 'linux lvm',然後選擇編碼 '8e' 或者預設不選,它預設的類型編碼為 '83'。

現在輸入 'w' 來儲存分區表資訊并且退出指令環境,如下示:

<code>command (m for help): w</code>

<code>the partition table has been altered!</code>

<code>calling ioctl() to re-read partition table.</code>

<code>warning: re-reading the partition table failed with error 16: device or resource busy.</code>

<code>the kernel still uses the old table. the new table will be used at</code>

<code>the next reboot or after you run partprobe(8) or kpartx(8)</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

根據上述提示,運作 'partprob' 或 'kpartx' 指令以使分區表生效,然後使用如下的指令來建立新的實體卷。

<code># partprobe</code>

<code># pvresize /dev/sda3</code>

要檢查新建立的卷,運作如下的指令可以看出新的實體卷是否已經被建立,是否可用。接下來,我們就可以使用這個新的實體卷來擴充 'centos' 卷組了,如下示:

<code># pvdisplay</code>

<code># vgextend centos /dev/sda3</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

現在我們使用如下的指令擴充邏輯卷,以增加我們系統正使用的磁盤空間。

<code># lvextend -l +40g /dev/mapper/centos-root</code>

一旦傳回增加成功的消息,就可以運作如下指令來擴充您的邏輯卷大小。

<code># xfs_growfs /dev/mapper/centos-root</code>

'/' 分區的大小已經成功的增加了,可以使用 'df' 指令來檢查您磁盤驅動器的大小。如圖示。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

這是第二種方法,它使用的指令非常簡單, 用來增加 centos 7 系統上邏輯卷空間大小。

是以第一步是打開您的虛拟機用戶端的設定頁面,點選 ‘增加’ 按紐,然後繼續下一步操作。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

選擇新磁盤所需要的配置資訊,如下圖所示的,選擇新磁盤的大小和它的類型。

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

然後進入服務端重複如下的指令來掃描您的磁盤裝置,以使新磁盤在系統中可見。

列出您的 scsi 裝置的名稱:

<code># echo 1 &gt; /sys/class/scsi_device/1\:0\:0\:0/device/rescan</code>

<code># echo 1 &gt; /sys/class/scsi_device/3\:0\:0\:0/device/rescan</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

一旦新增的磁盤可見,就可以運作下面的指令來建立新的實體卷,然後增加到卷組,如下示。

<code># pvcreate /dev/sdb</code>

<code># vgextend centos /dev/sdb</code>

<code># vgdisplay</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

現在根據此磁盤的空間大小來擴充邏輯卷,然後添加到根分區。

<code># lvextend -l +20g /dev/mapper/centos-root</code>

如何在 CentOS 7 中添加新磁盤而不用重新開機系統如何在 CentOS 7 中添加新磁盤而不用重新開機系統

在 linux centos 7 系統上管理磁盤分區的操作過程是非常簡單的,可以使用這篇文章所述的操作步驟來擴充您的任意邏輯卷的磁盤空間。您不需要重新開機生産線上的伺服器,隻是簡單的重掃描下 scsi 裝置,和擴充您想要的 lvm(邏輯卷管理)。我們希望這文章對您有用。請随意的發表有用的評論和建議。

本文來自雲栖社群合作夥伴“linux中國”

原文釋出時間為:2013-04-02.

繼續閱讀