- A+
所属分类:linux技术
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 查看可用容量大小,在Free PE / Size 这一行,后面/前面的数字就是,比如我的是: Free PE / Size 640 / 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 分区进行扩展,但是推荐使用第一种法。