2000 年 5 月
內容:
整理數據
創建文件系統
掛載文件系統
創建新目錄
進入單用戶模式
復制數據
備份目錄
掃尾工作
參考資源
作者簡介
在這篇關於在正在運行的系統上更改分區的技巧(第二篇)中,Daniel Robbins 說明了如何將 /tmp 和 /var 移動到它們自己的共享分區上。同時,他還介紹了幾個訣竅,從而使您可將停機時間縮到最短,並可避免犯嚴重錯誤。
在我的上一篇技巧中,我們已成功地將 /home 移動到一個新分區上。現在是學習如何將經常修改的文件整理到一個新分區上的時候了。為什麼要這樣做呢?下面是一個例子。經常修改的文件會產生大量的碎片。包含碎片的最佳方式之一就是將經常修改的文件存儲在它們自己的分區上。這樣,其他分區就不會受經常修改的文件所產生的碎片的影響。這在概念上不難理解,但實際上該如何操作呢?
整理數據
首先,必須創建一個新分區專門用於存儲頻繁修改的文件。您可能希望將這個分區置於單獨的磁盤上以增強性能。接下來,我將逐步說明將 /tmp 和 /var 移動到這個新分區上的各個步驟。
警告
下面的技術說明如何移動一個或多個分區。盡管這項技術經過專門設計,使您能夠“撤銷”失敗的分區移動,但它並不防止用戶的錯誤。換言之,只要進行格式化分區或復制大量文件的操作,就存在因輸入錯誤而導致大量數據被破壞的可能性。因此,強烈建議您 在行動之前采取適當的措施來備份所有的重要文件。
1. 在新分區上創建文件系統
這個過程的第一步是創建一個足以容納 /var 和 /tmp 並有一點額外空間的新分區。您需要另有一個硬盤驅動器或者一個備用的(未使用的)分區來存儲經常修改的文件。如果確實需要使用 fdisk 或 cfdisk 來創建分區,則必須重新啟動一次系統。現在就可以格式化新分區了,如下所示(完全可以在多用戶模式下完成這一工作;我將提示您何時切換到單用戶模式):
# mkfs.ext2 /dev/???
2. 將新分區掛載到 /mnt/rwstorage
正如在我的前一篇技巧中那樣,應該用剛創建的空分區的設備名替換 ???。意外鍵入錯誤的名稱將破壞現有分區上的數據,所以一定要小心!鍵入這個命令以後,您就在新分區上創建了一個新的 ext2 文件系統。現在幾乎就可以掛載這個分區了,但我們首先要創建一個掛載點。
# mkdir /mnt/rwstorage
我選擇名稱 "rwstorage" 是為了提醒我們,這個特殊的分區將專用於存儲頻繁讀寫的文件系統。要掛載分區,請鍵入:
# mount /dev/??? /mnt/rwstorage
3. 創建新的 /tmp
分區已經掛載好,現在就可以創建新的 /tmp 目錄了:
# cd /mnt/rwstorage
# mkdir tmp
# chmod 1777 tmp
4. 進入單用戶模式
我們的新目錄 /mnt/rwstorage/tmp 具有臨時目錄應該具有的權限。現在,請進入單用戶模式,因為我們必須復制整個 /var。像往常一樣,我們將進入單用戶模式推遲到最後一刻進行。從現在起我們不希望任何程序讀寫 /var 中的文件,所以必須停止所有守護程序,斷開所有用戶,執行一些快速的維護,為此請鍵入以下命令:
# init 1
如果提示您輸入口令來進行系統維護,請按指示操作。您現在應該在 root shell 中,所有不必要的守護進程已被停止。鍵入以下命令為 /var 中的文件創建一個新位置:
# cd /mnt/rwstorage
# mkdir var
5. 復制 /var
在我們的新 /mnt/newstorage/var 目錄上的默認權限應該是正確的,現在就可以將原來的全部 /var 數據復制到新分區上了:
# cd /var
# cp -ax * /mnt/rwstorage/var
6. 執行備份並創建符號鏈接
這個命令完成以後,/mnt/rwstorage/var 就成為 /var 的一個完全相同的副本。現在您可能會問,如何讓 Linux 正確使用 /mnt/rwstorage/var 和 /mnt/rwstorage/tmp 而不是根目錄下的默認位置呢?使用符號鏈接很容易實現這一點 -- 我們將創建新的符號鏈接 /tmp 和 /var,它們指向 /mnt/rwstorage 中的正確目錄。我們首先備份原來的目錄:
# cd /
# cp var var.old
# cp tmp tmp.old
最後一行可能沒有必要,因為通常您不會將任何重要的文件放在 /tmp 中,但我們這樣做更安全一些。現在開始創建符號鏈接:
# cd /
# ln -s /mnt/rwstorage/var /var
# ln -s /mnt/rwstorage/tmp /tmp
7. 最後修改 /etc/fstab
現在,當任何用戶或程序使用 /var 時,他們將被自動轉移到 /mnt/rwstorage/var!對於 /tmp 也一樣。我們還有一個步驟要做;但是這一步可以安全地在多用戶模式下執行。現在可以讓 apache 恢復運行了,也可以讓您的所有用戶重新登錄了。請按 CTRL-D 退出 runlevel 1。系統應該正常啟動。請以 root 身份登錄。
我們必須完成的最後一個步驟是配置 /etc/fstab 文件,以便將 /dev/??? 掛載到 /mnt/rwstorage。必須在 /etc/fstab 中添加這樣一行:
/dev/??? /mnt/rwstorage ext2 defaults 1 2
重要說明:如果您使用的內核版本屬於 2.3+,則在您的 /etc/fstab 文件中很可能有這樣一行:
none /var/shm shm defaults 0 0
該行在系統中啟用共享內存,默認情況下它掛載在 /var 中。為了使該行正常工作,它必須出現在您剛添加的那一行的下一行。這樣,當 linux 啟動時,/mnt/rwstorage 將首先被掛載(啟用 /var)。然後,並且僅當在此以後,shm 設備將被掛載在 /var/shm,而後者實際上是 /mnt/rwstorage/var/shm。確保這兩行的次序為:
/dev/??? /mnt/rwstorage ext2 defaults 1 2
none /var/shm shm defaults 0 0
在保存了對 /etc/fstab 的更改以後,您的系統已經成功升級了!在證實一切工作正常以後,您可刪除所備份的 /tmp.old 和 /var.old 目錄。恭喜您 -- 為了獲得最佳性能,您已經成功地對您的系統分區進行了重新配置。
參考資源
* 在 Maximum swappage 中,我說明了如何大幅提高 linux 下的交換 (swap) 性能
* 在 Partition planning tips 中,我說明了可用來有效地組織分區布局的幾種方法
* 在 Partitioning in action: Moving /home 中,我逐步說明了如何將 /home 移動到一個新分區上
* 我一向建議讀者查閱 The linux Documentation Project 上的 howtos -- 這些都是有價值的參考資源
作者簡介
Daniel Robbins 住在新墨西哥州 Albuquerque 市,他是 Gentoo Project 的首席體系結構設計師,Gentoo Technologies 公司的首席執行官,linux Advanced Multimedia Project (LAMP) 的顧問,他還是 Macmillan 公司出版的《Caldera OpenLinux Unleashed》、《SuSE Linux Unleased》和《Samba Unleashed》幾本書的重要作者之一。由於深受 Pac Man 的影響,Daniel 在讀二年級時第一次接觸到 Logo 語言後即執迷於計算機。這可能是他後來作為 SONY Electronic Publishing/Psygnosis 的首席圖形藝術家的原因。Daniel 喜歡與他的妻子 Mary 共度美好時光,Mary 今年春天已經懷孕。
您對這篇文章的看法如何?
真棒! 好文章 一般,尚可 需提高 太差!
意見
(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 2001, All Right Reserved
隱私 法律 聯系
參考資源
* 在 Maximum swappage 中,我說明了如何大幅提高 linux 下的交換 (swap) 性能
* 在 Partition planning tips 中,我說明了可用來有效地組織分區布局的幾種方法
* 在 Partitioning in action: Moving /home 中,我逐步說明了如何將 /home 移動到一個新分區上
* 我一向建議讀者查閱 The linux Documentation Project 上的 howtos -- 這些都是有價值的參考資源
作者簡介
Daniel Robbins 住在新墨西哥州 Albuquerque 市,他是 Gentoo Project 的首席體系結構設計師,Gentoo Technologies 公司的首席執行官,linux Advanced Multimedia Project (LAMP) 的顧問,他還是 Macmillan 公司出版的《Caldera OpenLinux Unleashed》、《SuSE Linux Unleased》和《Samba Unleashed》幾本書的重要作者之一。由於深受 Pac Man 的影響,Daniel 在讀二年級時第一次接觸到 Logo 語言後即執迷於計算機。這可能是他後來作為 SONY Electronic Publishing/Psygnosis 的首席圖形藝術家的原因。Daniel 喜歡與他的妻子 Mary 共度美好時光,Mary 今年春天已經懷孕。
您對這篇文章的看法如何?
真棒! 好文章 一般,尚可 需提高 太差!
意見
(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 2001, All Right Reserved
隱私 法律 聯系