【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区

简介: 【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区

一、Swap分区介绍

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。

二、检查本地系统环境

1.检查系统版本

[root@server001 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查系统内核

[root@server001 ~]# uname -r 
3.10.0-957.el7.x86_64

三、检查本地磁盘状态

1.检查swap大小

[root@server001 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1837        1340          97           2         399         291
Swap:          2047        1046        1001

2.检查物理磁盘分区

使用lsblk命令检查磁盘分区情况
[root@server001 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0              11:0    1  4.3G  0 rom  
vda             252:0    0  150G  0 disk 
├─vda1          252:1    0    1G  0 part /boot
└─vda2          252:2    0  149G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
  └─centos-home 253:2    0   97G  0 lvm  /home

3.查看PV状态

[root@server001 ~]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               centos
  PV Size               <149.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              38143
  Free PE               1
  Allocated PE          38142
  PV UUID               kZK4n1-OQbf-7uSQ-f0QI-PwfF-W8bh-zDQPNY

4.查看VG卷组状态

[root@server001 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <149.00 GiB
  PE Size               4.00 MiB
  Total PE              38143
  Alloc PE / Size       38142 / 148.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               nxeB2C-4fW1-HijW-n2Bi-P1pN-p2Cv-rvjYZ4

5.查看LVM逻辑卷状态

[root@server001 ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                71m8Iu-dxW6-dGiV-jnkC-ZCQn-BEAA-Yqnf3O
  LV Write Access        read/write
  LV Creation host, time kvm01, 2022-11-15 00:58:26 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                Of3kcY-tc4y-tyx5-VuBh-d7F7-10Zk-qZFHOE
  LV Write Access        read/write
  LV Creation host, time kvm01, 2022-11-15 00:58:26 +0800
  LV Status              available
  # open                 1
  LV Size                96.99 GiB
  Current LE             24830
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                hawN56-mPFc-5dPA-NB72-sHYR-hwyF-okC1DL
  LV Write Access        read/write
  LV Creation host, time kvm01, 2022-11-15 00:58:27 +0800
  LV Status              available
  # open                 1
  LV Size                50.00 GiB
  Current LE             12800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

四、给KVM虚拟机新增硬盘

1.查看虚拟机列表

给KVM虚拟机新增硬盘操作,都在宿主机上进行操作。
[root@server ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 7     kvm01                          running
 -     ikuai                          shut off
 -     KVM-qunhui                     shut off

2.关闭KVM虚拟机

[root@server ~]# virsh shutdown kvm01
Domain kvm01 is being shutdown

3.查看KVM虚拟机磁盘位置

[root@server ~]#  virsh dumpxml kvm01 |grep file
    <disk type='file' device='disk'>
      <source file='/nas/kvm/centos7.img'/>
    <disk type='file' device='cdrom'>
      <source file='/storage/kvm/CentOS-7-x86_64-DVD-1810.iso'/>

4.创建磁盘文件

[root@server ~]# qemu-img create -f qcow2 /nas/kvm/swap.qcow2 20G
Formatting '/nas/kvm/swap.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=65536 lazy_refcounts=off 

5.给虚拟机新增硬盘

给虚拟机新增硬盘,配置永久生效。
[root@server ~]# virsh attach-disk kvm01 /nas/kvm/swap.qcow2  vdb --subdriver=qcow2  --config
Disk attached successfully

6.再次查看虚拟机磁盘信息


[root@server ~]#  virsh dumpxml kvm01 |grep file
    <disk type='file' device='disk'>
      <source file='/nas/kvm/centos7.img'/>
    <disk type='file' device='disk'>
      <source file='/nas/kvm/swap.qcow2'/>
    <disk type='file' device='cdrom'>
      <source file='/storage/kvm/CentOS-7-x86_64-DVD-1810.iso'/>

7.KVM虚拟机开机

[root@server ~]# virsh start kvm01
Domain kvm01 started

五、关闭当前swap分区

1.清理系统内存占用程序

关闭交换分区swapoff,要保证剩余内存>=swap的used,自我感觉swap会释放到内存中。
否则会报错swapoff failed: Cannot allocate memory
保证物理剩余内存充足后,查看内存状态
[root@server001 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1837         156        1113           1         567        1493
Swap:          2047          46        2001

2.关闭swap

[root@server001 ~]# swapoff /dev/mapper/centos-swap 
[root@server001 ~]# swapon -s

3.再次查看内存状态

[root@server001 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1837         177        1081           8         578        1465
Swap:             0           0           0

六、扩展swap分区大小

1.查看系统硬盘情况

[root@server001 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0              11:0    1  4.3G  0 rom  
vda             252:0    0  150G  0 disk 
├─vda1          252:1    0    1G  0 part /boot
└─vda2          252:2    0  149G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  ├─centos-swap 253:1    0    2G  0 lvm  
  └─centos-home 253:2    0   97G  0 lvm  /home
vdb             252:16   0   20G  0 disk 

2.扩展卷组

[root@server001 ~]# pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created.
[root@server001 ~]# vgextend centos /dev/vdb
  Volume group "centos" successfully extended

3.扩展swap逻辑卷

扩展逻辑卷,增加6G大小空间。
[root@server001 ~]#  lvextend -L +6G /dev/centos/swap 
  Size of logical volume centos/swap changed from 2.00 GiB (512 extents) to 8.00 GiB (2048 extents).
  Logical volume centos/swap successfully resized.

4.格式化分区

[root@server001 ~]# mkswap /dev/centos/swap 
mkswap: /dev/centos/swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=82c55c8a-0b9c-4b57-82dc-570354fb90d3

5.启动swap分区

 swapon /dev/mapper/centos-swap

6.查看swap状态

[root@server001 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1837        1509          62          10         265         122
Swap:          8191           1        8190
相关文章
|
8月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
684 3
Linux系统禁用swap
|
8月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1237 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
768 3
Linux系统初始化脚本
|
8月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
871 1
二、Linux文本处理与文件操作核心命令
|
8月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
494 137
|
8月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1344 58
|
11月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
923 143
linux命令—tree
|
7月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1202 2
|
8月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
727 0
Linux内存问题排查命令详解