新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux磁盤存儲區管理原理與技巧

        Linux磁盤存儲區管理原理與技巧

        作者: 時間:2007-05-09 來源:網絡 收藏
        在Linux下管理磁盤貯存區算的上一個技巧,很多朋友在這上面常常問我,今天我就把這方面的東西匯總一下,從Linux特有的交換分區的原理開始介紹Linux下如何管理磁盤。

          原理篇

          1. 交換空間是什么

          Linux 中的 交換空間(Swap space) 在物理內存(RAM)被充滿時被使用。如果系統需要更多的內存資源,而物理內存已經充滿,內存中不活躍的頁就會被移到交換空間去。雖然交換空間可以為帶有少量內存的機器提供幫助,但是這種方法不應該被當做是對內存的取代。交換空間位于硬盤驅動器上,它比進入物理內存要慢。

          交換空間可以是一個專用的交換分區(推薦的方法),交換文件,或兩者的組合。 交換空間的總大小應該相當于你的計算機內存的兩倍和 32 MB這兩個值中較大的一個,但是它不能超過 2048 MB(2 GB)。

          2. 添加交換空間

          有時,你會有必要在安裝后添加更多的交換空間。例如,你把系統內存從 64 MB 升級到 128 MB,但是你只有 128 MB 的交換內存。如果你執行的是大量使用內存的操作或運行需要大量內存的程序,把交換區增加到 256 MB 可能會對你有利。

          你有兩種選擇:添加一個交換分區或添加一個交換文件。推薦你添加一個交換分區,不過,若你沒有多少空閑空間可用,創建交換分區可能會不大容易。

          要添加一個交換分區(假設 /dev/hdb2 是你想添加的交換分區):

          硬盤驅動器不能在被使用(分區不能被掛載,交換分區不能被啟用)。要達到這一目的的最簡單方法是在救援模式下引導你的系統。當提示掛載文件系統時,選擇 「跳過」 。

          如果驅動器不包含任何被使用的分區,你還可以卸載這些分區,使用 swapoff 命令來關閉硬盤驅動器上的所有交換空間。

          技巧篇

          使用 parted 或 fdisk 來創建交換分區。 parted 比 fdisk 使用起來更方便,因此,只有 parted 在這里會被說明。要使用 parted 來創建交換分區:

          在 shell 提示下以根用戶身份鍵入命令: parted /dev/ hdb 。這里的 /dev/ hdb 是你的帶有空閑空間的硬盤驅動器的設備名稱。

          在 (parted) 提示下,鍵入 print 來查看現存的分區和空閑空間的數量。起止值以 MB 為單位。判定硬盤驅動器上的空閑空間數量,以及你想給新建的交換分區分配的空間數量。

          在 (parted) 提示下,鍵入 mkpartfs part-type linux-swap start end ,這里的 part-type 是 primary、extended、logical 中的一個, start 是分區的起始點, end 是分區的終止點。

          警告:改變會立即發生,在鍵入時請謹慎從事。

          鍵入 quit 來退出 parted 。

          現在,你就可以創建交換分區了,使用 mkswap 命令來設置交換分區。在 shell 提示下以根用戶身份鍵入以下命令:

          mkswap /dev/hdb2

          要立即啟用交換分區,鍵入以下命令:

          swapon /dev/hdb2

          要在引導時啟用,編輯 /etc/fstab 文件來包括以下行:

          /dev/hdb2 swap swap defaults 0 0

          在系統下次引導時,它就會啟用新建的交換分區。

          新添了交換分區并啟用它之后,請查看 cat /proc/swaps 或 free 命令的輸出來確保交換分區已被啟用了。

          要添加交換文件:

          判定新交換文件的大小,將大小乘以 1024 來判定塊的大小。例如,大小的 64 MB 的交換文件的塊大小為 65536。

          在 shell 提示下以根用戶身份鍵入以下命令,其中的 count 等于想要的塊大小:

          dd if=/dev/zero of=/swapfile bs=1024 count=65536

          使用以下命令來設置交換文件:

          mkswap /swapfile

          要立即啟用交換文件而不是在引導時自動啟用,使用以下命令:

          swapon /swapfile

          要在引導時啟用,編輯 /etc/fstab 文件來包含以下行:

          /swapfile swap swap defaults 0 0

          系統下次引導時,它就會啟用新建的交換文件。

          新添了交換分區并啟用它之后,請查看 cat /proc/swaps 或 free 命令的輸出來確保交換分區已被啟用了。

          3. 刪除交換空間

          要刪除交換分區:

          硬盤驅動器不能在被使用(分區不能被掛載,交換分區不能被啟用)。要達到這一目的的最簡單方法 是在救援模式下引導你的系統。

          如果驅動器不包含任何被使用的分區,你還可以卸載這些分區,使用 swapoff 命令來關閉硬盤驅動器上的所有交換空間。

          在 shell 提示下以根用戶身份鍵入以下命令來確定交換分區已被禁用(這里的 /dev/hdb2 是交換分區):

          swapoff /dev/hdb2

          從 /etc/fstab 文件中刪除這個項目。

          使用 parted 或 fdisk 來刪除分區。只有 parted 在這里會被說明。要使用 parted 來刪除分區:

          在 shell 提示下以根用戶身份鍵入命令: parted /dev/ hdb 。這里的 /dev/ hdb 是你的帶有交換空間的硬盤驅動器的設備名稱。

          在 (parted) 提示下,鍵入 print 來查看現存的分區并判定你想刪除的交換分區的次要號碼。

          在 (parted) 提示下,鍵入 rm MINOR ,這里的 MINOR 是你想刪除的分區的次要號碼。

          警告:改變會立即發生,你必須鍵入正確的次要號碼。

          鍵入 quit 來退出 parted 。

          要刪除交換文件:

          在 shell 提示下以根用戶身份執行以下命令來禁用交換文件(這里的 /swapfile 是交換文件):

          swapoff /swapfile

          從 /etc/fstab 中刪除該項目。

          刪除實際文件:

          rm /swapfile

          4. 移動交換空間

          要把交換空間從某處移到另一處,請首先遵循刪除交換空間的說明,再遵循添加交換空間的說明。

          在你安裝了 Red Hat Linux 系統后,你可能想查看現存的分區表,改變分區的大小, 刪除分區,或從空閑空間或附加的硬盤驅動器上添加分區。 parted工具會允許你執行這些任務。本章討論如何使用parted命令來執行文件系統任務。此外,你還可以使用 fdisk來執行多數此類任務(除重新劃分分區以外)。要獲得 fdisk的更多信息,請閱讀其說明書頁(man)或信息頁(info)。

          你必須安裝了parted 軟件包才能使用parted工具。要啟動parted ,在shell 提示下以根用戶身份鍵入命令 parted /dev/hdb

          這里的/dev/hdb是你想配置的設備名稱。你會看到一個(parted)提示。鍵入 help來查看可用命令的列表。

          如果你想創建、刪除分區或重新劃分分區大小,分區所在設備不能正在被使用(分區不能被掛載,并且交換空間不能被啟用)。 達到這個目的的最簡單方法是在救援模式中引導系統。

          如果驅動器不包含任何正在被使用的分區,你可以使用 umount 命令來卸載分區,使用swapoff 命令來關閉硬盤驅動器上的交換空間。

          命令篇

          下表包含一列最常用的parted命令。

          print

          A table similar to the following will appear:

          Disk geometry for /dev/hda: 0.000-9765.492 megabytes
          Disk label type: msdos
          Minor  Start   End   Type   Filesystem Flags
          1     0.031  101.975 primary ext3    boot
          2    101.975  611.850 primary linux-swap
          3    611.851  760.891 primary ext3
          4    760.891 9758.232 extended       lba
          5    760.922 9758.232 logical ext3    

          第一行顯示了磁盤的大小;第二行顯示了磁盤標簽類型;剩余的輸出顯示了分區表。

          在分區表中,Minor(次要)標簽是分區號碼。例如,次要號碼為 1 的分區和 /dev/hda1 相對。

          Start(開始)和 End(結束)值以 MB 為單位。

          Type(類型)是 primary、extended、logical 中的一個。

          Filesystem(文件系統)是文件系統的類型,它可以是 ext2、ext3、FAT、hfs、jfs、linux-swap、ntfs、reiserfs、hp-ufs、sun-ufs 或 xfs 之一。

          Flags(標志)列列出了分區被設置的標準。可用的標志有: boot、root、swap、hidden、raid、lvm 或 lba。

          竅門:

          要不重新啟動 parted來選擇不同的設備,使用select命令,再緊跟設備名,如/dev/hdb。然后,你便可以查看或配置它的分區表


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定襄县| 康平县| 康乐县| 西乡县| 张家界市| 磐安县| 加查县| 龙岩市| 九龙城区| 闸北区| 孟津县| 子洲县| 扶风县| 平乡县| 新绛县| 宁安市| 原平市| 怀柔区| 玉树县| 堆龙德庆县| 湘阴县| 福清市| 甘南县| 兰州市| 若尔盖县| 宁陵县| 龙江县| 比如县| 德州市| 伊春市| 平武县| 崇仁县| 凤翔县| 洛宁县| 泽普县| 杭锦后旗| 景谷| 青州市| 巴塘县| 吉木乃县| 瓦房店市|