歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 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。然後,你便可以查看或配置它的分區表。



Copyright © Linux教程網 All Rights Reserved