(1)扩展正在使用的swap分区的逻辑卷(推荐)
(2)新建swap分区
(3)新建swap file
准备工作:
(1)查看当前swap分区
--先查看swap分区大小
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 3145724 0 -2
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 908M 133M 619M 7.2M 155M 605M
Swap: 3.0G 0B 3.0G
# 若没有显示,重启一下再看
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00006e24
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 27691007 13639680 8e Linux LVM
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区 # 此时已经出现
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-root:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:3221 MB, 3221225472 字节,6291456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
(1)分区
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
(2)创建物理卷
[root@localhost ~]# lvm
lvm> pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
lvm> pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- 13.00g 4.00m
/dev/sdb1 lvm2 --- 100.00m 100.00m
lvm> pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <13.01 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 3329
Free PE 1
Allocated PE 3328
PV UUID C332am-gtwv-GsS6-Vk1Y-qAdp-y0p0-IAIdFb
"/dev/sdb1" is a new physical volume of "100.00 MiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 100.00 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID uPZkMz-rnp1-jH8h-0ks3-1Qxc-DiVR-FPp1qc
(3)创建逻辑卷
[root@localhost ~]# lvm
lvm> lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 10.00g
swap centos -wi-ao---- 3.00g
lvm> vgextend centos /dev/sdb1
Volume group "centos" successfully extended
lvm> vgs
VG #PV #LV #SN Attr VSize VFree
centos 2 2 0 wz--n- <13.10g 100.00m
(4)lv扩容
lvm> lvextend --help
lvextend - Add space to a logical volume
Extend an LV by a specified size.
lvextend -L|--size [+]Size[m|UNIT] LV
[ -l|--extents [+]Number[PERCENT] ]
[ -r|--resizefs ]
。。。
lvm> lvextend -L +100M /dev/centos/swap
Size of logical volume centos/swap changed from 3.00 GiB (768 extents) to <3.10 GiB (793 extents).
Logical volume centos/swap successfully resized.
(5)同步文件系统
[root@localhost ~]# swapoff -a
[root@localhost ~]# mkswap /dev/centos/swap
mkswap: /dev/centos/swap: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 3248124 KiB
无标签,UUID=5703536a-4b95-4779-a81b-68ed194c9458
(6)查看验证
[root@localhost ~]# swapon -va
swapon /dev/mapper/centos-swap
swapon: /dev/mapper/centos-swap:找到交换区签名:版本为 1,页面大小为 4,相同 字节顺序
swapon: /dev/mapper/centos-swap:页大小=4096,交换区大小=3326083072,设备大小=3326083072
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 908M 133M 617M 7.3M 157M 604M
Swap: 3.1G 0B 3.1G
方法1:
# (1)创建分区
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (206848-20971519,默认为 206848):
将使用默认值 206848
Last 扇区, +扇区 or +size{K,M,G} (206848-20971519,默认为 20971519):+100M
分区 2 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):w
#(2)和上面扩容类似,只是重新创建一个swap分区
[root@localhost ~]# lvm
lvm> pvcreate /dev/sdb2
Device /dev/sdb2 not found. # 报错,退出去刷新一下
[root@localhost ~]# partprobe /dev/sdb
# 创建pv
[root@localhost ~]# lvm
lvm> pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
# 创建vg
lvm> vgextend centos /dev/sdb2
Volume group "centos" successfully extended
# 创建lv
Volume group "centos" has insufficient free space (24 extents): 25 required.
lvm> lvcreate -L 50M -n swap2 centos
Rounding up size to full physical extent 52.00 MiB
Logical volume "swap2" created.
# 退出去创建swap
[root@localhost ~]# swapoff -a
[root@localhost ~]# mkswap /dev/centos/swap2
正在设置交换空间版本 1,大小 = 53244 KiB
无标签,UUID=c93411ba-4abd-42c7-a89d-938c232ed6f3
# 验证查看
[root@localhost ~]# swapon -va
swapon /dev/mapper/centos-swap
swapon: /dev/mapper/centos-swap:找到交换区签名:版本为 1,页面大小为 4,相同 字节顺序
swapon: /dev/mapper/centos-swap:页大小=4096,交换区大小=3326083072,设备大小=3326083072
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 929944 137928 622952 7460 169064 613720
Swap: 3248124 0 3248124
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 908 134 608 7 165 599
Swap: 3171 0 3171
方法2:创建swap分区,挂载
# 创建分区
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):3
起始 扇区 (206848-20971519,默认为 206848):
将使用默认值 206848
Last 扇区, +扇区 or +size{K,M,G} (206848-20971519,默认为 20971519):+100M
分区 3 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):l
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
# 修改分区类型
命令(输入 m 获取帮助):t
已选择分区 3
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
# 保存
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
# 刷新
[root@localhost ~]# partprobe /dev/sdb3
# 制作swap分区类型
[root@localhost ~]# kpartx /dev/sdb
sdb1 : 0 204800 /dev/sdb 2048
sdb2 : 0 204800 /dev/sdb 411648
sdb3 : 0 204800 /dev/sdb 206848
[root@localhost ~]# mkswap /dev/sdb3
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=3f1ee558-f002-4eff-b8ae-6a40da1c9dc5
# 挂载
[root@localhost ~]# swapon /dev/sdb3
# 查看
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 3248124 0 -2
/dev/sdb3 partition 102396 0 -3
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 908 135 606 7 166 597
Swap: 3271 0 3271
# 写入开机挂载
[root@localhost ~]# vim /etc/fstab
/dev/sdb3 swap swap defaults 0 0
# 验证文件
[root@localhost ~]# mount -a
[root@localhost ~]#
通过此种方式进行swap扩展,首先要计算block的树木,具体为根据需要扩展的swapfille大小,以M为单位,block=swap分区大小1024
示例,做一个100M的swapfile:block=1001024=102400