swap扩容

1.1. 三种方法

(1)扩展正在使用的swap分区的逻辑卷(推荐)
(2)新建swap分区
(3)新建swap file

1.2 示例

准备工作:
(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

(2)添加磁盘
swap扩容_第1张图片
(3)查看

# 若没有显示,重启一下再看
[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.2.1 扩展正在使用的swap分区逻辑卷

(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.2.2 新建swap分区(两种方法)

方法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 ~]# 

1.2.3 新建swapfile

通过此种方式进行swap扩展,首先要计算block的树木,具体为根据需要扩展的swapfille大小,以M为单位,block=swap分区大小1024
示例,做一个100M的swapfile:block=100
1024=102400

你可能感兴趣的:(Linux,linux,运维,服务器)