Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292148
  • 博文数量: 109
  • 博客积分: 5814
  • 博客等级: 大校
  • 技术积分: 1440
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-26 10:17
文章分类

全部博文(109)

文章存档

2010年(9)

2009年(36)

2008年(64)

我的朋友

分类: LINUX

2008-03-19 13:58:46

RHEL5下swap的实现
基础知识:
M = amount of RAM in GB, and S = Amount of swap in GB ,then

If M < 2
S = M * 2
Else
S = M + 2

使用这个公式,一个2GB物理内存的系统需要4GB的swap,而一个拥有3GB物理内存的系统需要5GB的.

使用free或者cat /proc/swaps命令来查看有多少或者有哪些swap在使用.使用时,请根据自身情况。

添加和删除swap,你有三种可选的办法:
1.创建/删除一个新的swap分区
2.创建/删除一个新的swap文件
3.在LVM2逻辑卷上扩展/减小swap空间

我先描述下实验环境:
RHEL5 AP一台,测试时,请使用install CD disk1引导系统进入rescue模式.
原因:RedHat Enterprise Linux 5.0.0 Deployment_Guide Page61 important提示
"The best way to achieve swap space modifications is to boot your system in rescue mode".

我的分区情况,/boot单独一个主分区,其他所有分区均在LVM下,我的习惯是这样.考虑到可扩展性.boot是引导分区
在LVM下无法正常启动.故单独做为一个分区.

Part One:使用LVM2逻辑卷添加和减少swap空间(前提:你的swap分区在lvm2上)
1.添加swap空间
首先disable swap.我的卷组名为VG0,为了方便辨认,我给swap分区就命名为swap.请参见自己实际分区情况酌情处理.
#swapoff -v /dev/VG0/swap

重新分配swap分区的大小,增加256M
#lvm lvresize /dev/VG0/swap -L +256M

格式化swap space
#mkswap /dev/VG0/swap

重新启用swap
#swapon -va

然后检查是否成功
cat /proc/swaps    或者free

2.从LVM2逻辑卷中减少swap空间
禁用swap
#swapoff -v /dev/VG0/swap

减少swap空间
#lvm lvreduce /dev/VG0/swap -L 256M

格式化新生成的swap空间
#mkswap /dev/VG0/swap

启用swap
#swapon -va

测试是否成功
#cat /proc/swaps 或者free


Pate Two:在LVM2逻辑卷上创建和删除一个swap分区
1.创建swap分区(前提:你已经准备好了LVM卷)

首先在LVM2逻辑卷上为swap创建一个新的分区,分区大小由-L指定,为256M.
(我的卷组名仍然是VG0,新建的分区为swap2)
#lvm lvcreate VG0 -n swap2 -L 256M

然后格式化swap2
#mkswap /dev/VG0/swap2

修改/etc/fstab,添加如下内容,这样在开始时可以自动加载,永久生效:
/dev/VG0/swap2    swap    swap    defaults    0 0

启用swap2
#swapon -va

测试是否成功
#cat /proc/swaps 或者free

2.删除逻辑卷上的swap2分区

同样还是先禁用swap2
#swapoff -v /dev/VG0/swap2

删除逻辑卷上的swap2
#lvm lvremove /dev/VG0/swap2

将下面这条信息从/etc/fstab中删除
/dev/VG0/swap2    swap    swap    defaults    0 0

测试结果
#cat /proc/swaps  或者free


Part Three创建和删除swap文件(对于没有设置LVM2的朋友这个是最简单的办法)

1.创建swap文件(需要在交互式shell下使用root权限)我们假设给它64MB
#dd if=/dev/zero of=/swapfile bs=1024 count=65536
有关dd命令的详细用法,请使用man dd来查看

设置swap文件
#mkswap /swapfile
(mkswap不只是用与swap分区的,也用与swap文件,man mkswap)

启用swapfile,但这并不是永久生效的.
#swapon /swapfile

永久生效的启动swapfile,修改/etc/fstab,添加如下一行:
/swapfile    swap    swap    defaults    0 0

检查是否生效
#cat /proc/swaps 或者free


2.删除swapfile文件
禁用swap
#swapoff -v /swapfile

删除/etc/fstab中的下面条目
/swapfile    swap    swap    defaults    0 0

删除swapfile
#rm /swapfile

如果想了解更多内容,请参考RHEL5 Deployment_Guide,命令相关用法请使用man command
2还可以通过
 dd if=/dev/zero of=/tmp/swap bs=1024 count=2048000
读入了 2048000+0 个块
输出了 2048000+0 个块
[root@server17 ~]# mkswap /tmp/swap
Setting up swapspace version 1, size = 2097147 kB
[root@server17 ~]# swapon /tmp/swap
创建swap挂在上!
阅读(864) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~