在系統工作時調整分割槽

2022-05-05 04:30:08 字數 2636 閱讀 2612

在這個新的技巧集中,daniel robbins 說明了怎麼樣在正在執行的系統上更改分割槽布局。同時他還介紹了幾個訣竅,從而使您可將停機時間縮到最短,並可避免犯嚴重錯誤。在這篇技巧中,他將說明怎麼樣將 /home 移動到另乙個分割槽上。

/home 分割槽是最常移動的分割槽之一。某些時候,/home 中的全部空間都用完了,而且需要增加乙個硬碟驅動器。另一些時候,/home 被設定為根分割槽的一部分,為了提高效能或便於備份,可能需要將它移動到別的地方。我會針對每種情況說明怎麼樣安全有效地移動/home。

警告

下面的技術說明怎麼樣移動乙個或多個分割槽。儘管這項技術的設計使您能夠「撤銷」失敗的分割槽移動,但它並不防止使用者的錯誤。換言之,只要進行格式化分割槽或複製大量檔案的操作,就存在因輸入錯誤而導致大量資料被破壞的可能性。因此,強烈建議您 在行動之前採取適當的措施來備份所有的重要檔案。

現在您已作好準備,我們就可以開始移動 /home了。您要完成的確切步驟取決於 /home 當前是駐留在它自己單獨的分割槽上,還是位於根分割槽上。在我們完成下面的步驟時,要緊記這一點(必要時我將提醒您)。如果您正在將/home 移動到乙個新的硬碟驅動器上,則這個驅動器現在應該物理上安裝在您的系統中。

1. 如有必要,建立乙個新分割槽

如果您正在將 /home 移動到乙個現有的分割槽(沒有必要一定是 ext2 檔案系統,只要目標主分割槽或擴充套件分割槽存在即可)上,則您可以直接轉到 步驟 2。

如果新分割槽還不存在,則需要用 cfdisk(首選)或 fdisk 來建立乙個新分割槽。如果這個分割槽不在第乙個驅動器上,則別忘了將這個裝置的名稱指定為 cfdisk 或 fdisk 的第乙個引數。在建立了適當的主分割槽或擴充套件分割槽以後,應重新啟動系統以便正確地重新讀取分割槽表。這是唯一需要重啟系統的時候。

2. 在新分割槽上建立檔案系統

要在新分割槽上建立檔案系統,首先要知道這個新分割槽的準確裝置名(例如,/dev/sda5)。如果您不能確定準確的裝置名,請立即停下來,仔細核對裝置名。然後以 root 身份鍵入以下命令:

# mkfs.ext2 /dev/--?

在上面和以後的**樣例中,應該用目標分割槽名替換 --?。在執行此命令以後,目標分割槽將包含乙個空的 ext2 檔案系統。

3. 在 /mnt 下掛載這個新檔案系統

建立乙個名為 /mnt/newpart 的目錄,然後將新分割槽掛載到這個目錄上:

# mount /dev/--? /mnt/newpart

4. 進入單使用者模式

為了使系統的可用性達到最大限度,我盡量推遲這一步,但現在我們必須進入單使用者模式,然後將/home中的檔案復到/mnt/newpart 中。您不應該讓 /home 中的任何檔案處於開啟狀態,而進入單使用者模式消除了這種可能性:

# init 1

如果出現提示,請輸入 root 口令來執行系統維護任務。您現在應該在 rootshell中。

5. 將當前目錄更改為 /home,然後複製檔案

鍵入以下命令:

# cd /home

# cp -ax * /mnt/newpart

cp -ax 命令迴圈地將 /home 中的內容複製到 /mnt/newpart 中,並保留全部檔案屬性,也不會交叉任何掛載點。該命令執行完以後,/mnt/newpart 中將包括 /home 中當前包含的全部檔案和目錄的精確副本。如果原來的/home 在它自己單獨的分割槽上(在/etc/fstab 中用單獨一行列出),請轉到 步驟 6a。否則,請轉到 步驟 6b。

6a. 使用新分割槽(當原來的 /home 是乙個分割槽時)

下面的說明適用於原來的 /home 已經在它自己的專用分割槽上的系統。如果不是這種情況,請參閱 步驟 6b。

鍵入以下命令解除安裝原來的分割槽:

# cd /

# umount /home

然後,解除安裝並重新掛載新分割槽:

# umount /mnt/newpart

# mount /dev/--? /home

現在就可以通過 /home 訪問新分割槽了,並可立即投入使用。我們可以在多使用者模式下執行最後幾個步驟。請按 ctrl-d 退出單使用者模式,這樣系統就會回到啟動執行狀態。

重要步驟: 在系統正常啟動以後,以 root 身份登入,然後編輯 /etc/fstab,以便將 /dev/--? 自動掛載到 /home 上,而不是仍然在這個掛載點掛載原來的分割槽。例如,將下面這一行:

更改為:

/dev/--?    /home   ext2    defaults    1   2

6b. 使用新分割槽(當原來的 /home 不是乙個分割槽時)

如果 /home 以前不在它自己單獨的分割槽上(例如,如果 /home 只是根分割槽上的乙個目錄),請按下面的說明操作。執行以下命令:

# cd /

# mv /home /home.old

# mkdir /home

# mount /dev/--? /home

/dev/--?  /home   ext2    defaults    1   2

這樣,當下次重新啟動系統時,您的新分割槽將被正確掛載。

7. 掃尾工作

我們特意將原來的 /home 目錄/分割槽保留下來,以防複製檔案時出現問題。在證實系統穩定執行以後,您就可以將原來的 /home 分割槽用於其他目的,或者刪除原來的 /home 目錄。

**:

怎樣調整系統盤分割槽?

伺服器建立成功後,如果發現系統盤分割槽的容量大小和實際購買的系統盤大小不一致,可以通過手動調整系統盤分割槽,擴容系統盤的空白空間。第一步,首先進行parted l dev xvda檢視磁碟分割槽 第二步,進行磁碟剩下空間,進行分割槽 執行以下命令,進入fdisk模式。以 dev xvda 為例 fd...

CentOS系統下調整home和根分割槽大小的方法

執行步驟如下 1 解除安裝 home umount home umount home 如果提示無法解除安裝,則是有程序占用 home,使用如下命令來查詢哪些程序還占用 home目錄的相關檔案 fuser m home 分別kill 9 pid殺死這些程序 由於這台測試伺服器執行mysql資料庫,為保...

eworkflow工作流系統在iis中發布

eworkflow工作流系統在iis中發布 win7下面的iis發布eworkflow工作流系統,要帶虛擬目錄的,如發布成http localhost eworkflow login.aspx 這樣來訪問的。發布方法如下 先開啟win7的 管理工具 internet 資訊服務 iis 管理器 選擇 ...