1. 程式人生 > 實用技巧 >Linux-Swap分割槽擴充套件的三種方法-適用於VMware

Linux-Swap分割槽擴充套件的三種方法-適用於VMware

redhat linux swap分割槽擴充套件的三種方法
swap介紹:
當實體記憶體佔用完了後,當系統還需要更多的實體記憶體時,實體記憶體中inactive pages,就move到swap空間。swap空間是在位於硬碟上的,因此訪問速度較實體記憶體慢。
當機器的實體記憶體發生變化時,swap分割槽也要做相應的擴充套件:
有三種方法可以對swap分割槽進行擴充套件:
一、擴充套件正在使用的swap分割槽的邏輯卷(推薦使用此種方式)
二、新建swap分割槽,
三、新建swap file,
具體步驟如下:

第一種方法:
擴充套件正在使用的swap分割槽的邏輯卷
- step 1 -

1 fdisk /dev/sda
2 > p 檢視現有的主分割槽,一般是2個 3 > n 新建一個分割槽 4 > p 新建一個主分割槽 5 > 3 選擇編號3(如果已有分割槽是2個) 6 > t 轉換一個分割槽的型別 7 > l 檢視所有可以選型別 8 > 8e 選擇磁碟型別為Linux LVM型別 9 > w 寫入分割槽表

- step 2 -

partprobe 使新建的分割槽生效,如果沒有這個命令就重啟虛擬機器: reboot

- step 3 -

mkfs.ext3 /dev/sda3 將分割槽格式轉化為ext4格式,適用於5系6系
mkfs.ext4 
/dev/sda3 將分割槽格式轉化為ext4格式 適用於7系

- step 4 -

df -h  檢視root主分割槽的名字叫什麼(Filesystem下面的‘mapper/’後面的就是主分割槽名字)
比如我的主分割槽名字叫: VolGroup00-LogVol00---記下,後面擴容會用到
/dev/mapper/VolGroup00-LogVol00

- step 5 -

lvm進入lvm管理
lvm>vgdisplay -v先檢視自己的虛擬機器組是什麼(在--- Volume group ---下面,就是VG Name那一行),比如我的是VolGroup00
lvm>pvcreate /dev/sda3這是初始化剛才的分割槽,必須的
lvm
>vgextend VolGroup00 /dev/sda3將初始化過的分割槽加入到虛擬卷組VolGroup00 (卷和卷組的命令可以通過vgdisplay ) lvm>vgdisplay -v 檢視可用容量大小,在FreePE / Size這一行,後面/前面的數字就是,比如我的是: FreePE / Size640 / 20.00 GB lvm>quit

#### 到這一步後才有Free Space供使用

然後關鍵部分:

- step 6 -

你得查得系統得swap分割槽叫什麼名字,可在/etc/fstab中查詢

# /etc/fstab檔案中需要有得:/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
其中/dev/VolGroup00/LogVol01就是swap分割槽名字
那麼swap 分割槽的邏輯卷為:/dev/VolGroup00/LogVol01
/dev/mapper/vg_dnfserver-lv_swap
Disable swapping for the associated logical volume:
# swapoff -v /dev/VolGroup00/LogVol01

Resize the LVM2 logical volume by 256 MB:
# lvm lvresize /dev/VolGroup00/LogVol01 -L +256M

Format the new swap space:
# mkswap /dev/VolGroup00/LogVol01

Enable the extended logical volume:
# swapon -va
#  swapon /dev/mapper/vg_dnfserver-lv_swap
Test that the logical volume has been extended properly:
# cat /proc/swaps或者# free

第二種方法:
新建swap分割槽

設定新建的swap分割槽的邏輯卷為:/dev/VolGroup00/LogVol02
Create the LVM2 logical volume of size 256 MB:
# lvm lvcreate VolGroup00 -n LogVol02 -L 256M
Format the new swap space:
# mkswap /dev/VolGroup00/LogVol02
Add the following entry to the /etc/fstab file:
/dev/VolGroup00/LogVol02 swap swap defaults 0 0
Enable the extended logical volume:
# swapon -va
Test that the logical volume has been extended properly:
# cat /proc/swaps或者# free

第三種方法:
新建swapfile

通過此種方式進行swap 的擴充套件,首先要計算出block的數目。具體為根據需要擴充套件的swapfile的大小,以M為單位。block=swap分割槽大小*1M, 例如,需要擴充套件8G的swapfile,則:block=8192*1M=8G.
然後做如下步驟:
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=8192
2. 建立SWAP檔案
# mkswap /mnt/swapfile
3. 啟用SWAP檔案
# swapon /mnt/swapfile
4. 檢視SWAP資訊是否正確
# swapon -s
5. 新增到fstab檔案中讓系統引導時自動啟動
# echo "/mnt/swapfile swap swap defaults 0 0" >> /etc/fstab
6. 用命令free檢查2G交換分割槽生效
# free -m
# grep SwapTotal  /proc/meminfo
7. 釋放SWAP檔案
# swapoff /mnt/swapfile
8. 刪除SWAP檔案
# rm -fr /mnt/swapfile

總結:三種方法都能對swap 分割槽進行擴充套件,但是推薦使用第一種法。