一、新建磁盘分区作为Swap分区
大体流程如下:
1、停止所有的swap分区:
# swapoff -a
2、新建分区并修改分区类型:
(1).用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区;
(2).添加swap分区,n新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型);
(3).最后用w将操作实际写入硬盘(没用w之前的操作是无效的)
3、格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名
# mkswap /dev/sdb2
4、激活新的swap分区:
# swapon /dev/sdb2
5、开机自动启动:
# vi /etc/fstab,加入下面一行:
/dev/sdb2 swap swap defaults 0 0
其中1表示需要dump(转储),要是0的话则该文件系统不需要转储;
其中2表示第二个检查,如果是1则是第一个检查,3的话就是第三个检查,依次类推最大为9,如果检查顺序相同,则是由上到下依序检查。
分区示例:
[root@heiha ~]# fdisk /dev/sdb #fdisk对磁盘进行分区并修改分区类型
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x65d4edbc.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m #m显示参数作用
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n #n新建分区
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1 #新建第一个分区
First cylinder (1-261, default 1):
Using default value 1 #默认从1开始
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261):
Using default value 261 #默认最大261
Command (m for help): l #l查看分区类型(82 Linux swap)
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Command (m for help): t #更改系统分区id
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): p #打印分区表(查看磁盘分区)
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x65d4edbc
Device Boot Start End Blocks Id System
/dev/sdb1 1 261 2096451 82 Linux swap / Solaris
Command (m for help): w #保存修改并退出
二、用文件作为Swap分区
如果已有硬盘空间已经没有空间划分新的分区,也不打算继续挂载磁盘,那么可以利用swap文件的方式增加虚拟的swap空间,但是实际性能与swap分区相比较差。
1、创建要作为swap分区的文件,则命令写法如下:
例如:增加1GB大小的交换分区(原来的swap分区不变),文件位置在/root/swapfile
其中的count等于想要的块的数量((bs=1M指定每个扇区占用1024kb(也可用512k),bs*count=文件大小)
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2、格式化为交换分区文件:
# mkswap /root/swapfile
3、启用交换分区文件:
# swapon /root/swapfile
4、关闭交换分区文件:
# swapoff /root/swapfile
4、使系统开机时自启用:
# vi /etc/fstab 添加以下内容:
/root/swapfile swap swap defaults 0 0
其中1表示需要dump(转储),要是0的话则该文件系统不需要转储;
其中2表示第二个检查,如果是1则是第一个检查,3的话就是第三个检查,依次类推最大为9,如果检查顺序相同,则是由上到下依序检查。
三、使用 “lvextend” 扩展Swap分区
注意:使用lvextend扩展swap空间,前提是swap所在的vg组中有足够的空间
查看vg空间大小
# vgdisplay
或
# vgs
1、停止所有的swap分区:
# swapoff -a
2、扩展swap分区
# lvextend -l 2048 /dev/mapper/vg_name-swap_name
# lvextend -L +8G /dev/mapper/vg_name-swap_name
#(2048为vgdisplay中vg_name的pe值,pesize为4mb,2048就是8G)
3、刷新swap分区大小
(1)格式化swap分区
# mkswap /dev/mapper/vg_name-swap_name
(2)停启swap分区
# swapoff
# swapon
4、查看swap使用情况
# swapon -s
Swap空间的已用和未用资源的大小
5、启用所有的swap分区:
# swapon -a
5、使用以下命令验证更改
# cat /proc/swaps