Linux运维基础交换分区和lvm管理教程

 更新时间:2021年09月06日 15:57:55   作者:神慕蔡蔡  
这篇文章主要介绍了Linux运维基础中的交换分区和lvm管理教程,附含源码示例,有需要的朋友可以借鉴参考下,祝大家共同学习共同进步

1.交换分区SWAP

交换分区一般指定虚拟内存的大小为实际内存的1~1.5倍。如果实际内存超过8GB,可以直接划分16GB给虚拟内存即可,如果虚拟内存不够用的情况,须增加一个虚拟磁盘,由于不能给原有的磁盘重新分区,所以可以选择新建。

1.1创建swapfile

[root@clq0917 ~]# dd if=/dev/zero of=/opt/www bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB)已复制,10.7409 秒,100 MB/秒
[root@clq0917 ~]# 

1.2格式化swap分区

[root@clq0917 ~]# mkswap -f /opt/www
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=9928fe54-9639-4dd9-90ef-82d3f69e94fe
[root@clq0917 ~]# 

1.3检测当前swap分区情况

[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1304        535          8          1       1115
-/+ buffers/cache:        188       1652
Swap:         2047          0       2047
[root@clq0917 ~]# 

1.4开启新建的SWAP分区

[root@clq0917 ~]# swapon /opt/www
swapon: /opt/www:不安全的权限 0644,建议使用 0600。
//使用权限命令
[root@clq0917 ~]# chown 600 /opt/www
[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1305        535          8          1       1115
-/+ buffers/cache:        188       1651
Swap:         3071          0       3071//swap分区多出来1G

1.5关闭新建的swap分区

[root@clq0917 ~]# swapoff /opt/www
[root@clq0917 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1840       1304        535          8          1       1115
-/+ buffers/cache:        188       1652
Swap:         2047          0       2047//还原到没有增加虚拟磁盘

1.6给新区增加一个交换分区swap

1.[root@clq0917 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f8fccca
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      393215      195584   83  Linux
/dev/sdb2          393216    41943039    20774912    5  Extended
/dev/sdb5          395264      589823       97280   82  Linux swap  ~准备该区为交换分区
2.把分区类型改为82
命令(输入 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      
命令(输入 m 获取帮助):t       
分区号 (1,2,5,默认 5):5
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f8fccca
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      393215      195584   83  Linux
/dev/sdb2          393216    41943039    20774912    5  Extended
/dev/sdb5          395264      589823       97280   82  Linux swap / Solaris
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
3.更新一下
[root@clq0917 ~]# partprobe /dev/sdb5
4.把sdb5作为交换分区
[root@clq0917 ~]# mkswap /dev/sdb5
正在设置交换空间版本 1,大小 = 97276 KiB
无标签,UUID=d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e
5.启动交换分区
[root@clq0917 ~]# swapon /dev/sdb5
查看
[root@clq0917 ~]# swapon -s
文件名				类型		大小	已用	权限
/dev/dm-1                              	partition	2097148	0	-1
/dev/sdb5                              	partition	97276	0	-2
6.长久保存分区使用
[root@clq0917 ~]# blkid /dev/sdb5
/dev/sdb5: UUID="d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e" TYPE="swap"
[root@clq0917 ~]# vi /etc/fstab
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
UUID="00e35670-d6c9-44d1-8e8c-f52bd71edf59" /mnt  xfs  defaults   0 0
UUID="d146ac2b-6d08-4b9b-b18d-0b1fc0f3896e"  swap swap   defaults 0 0
~                                                                     

2. lvm管理

步骤lvm

1.添加物理磁盘,创建物理卷
2.创建卷组,将物理卷加入卷组
3.在 卷组在划分逻辑卷
4.格式化逻辑卷
5.挂载使用

1.准备物理磁盘(加磁盘参考上一博客)

上一篇链接Linux运维基础系统磁盘管理教程

[root@clq0917 ~]# lsblk |grep "sd[cd]"
sdc             8:32   0   20G  0 disk 
sdd             8:48   0   20G  0 disk 
查看pv创建情况
[root@clq0917 ~]# pvs
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/sda2  rhel lvm2 a--  19.51g     0 
  /dev/sdc        lvm2 a--  20.00g 20.00g
2.创建名字为hongmao的卷组
[root@clq0917 ~]# vgcreate hongmao /dev/sdc
  Volume group "hongmao" successfully created
检查卷组
[root@clq0917 ~]# vgs
  VG      #PV #LV #SN Attr   VSize  VFree 
  hongmao   1   0   0 wz--n- 20.00g 20.00g
  rhel      1   2   0 wz--n- 19.51g     0 
3.创建逻辑卷,分配名称,以及大小,制定卷组
[root@clq0917 ~]# lvcreate -L 1000M -n lv1 hongmao
  Logical volume "lv1" created
 检查逻辑卷
 [root@clq0917 ~]# lvs
lvs     lvscan  
[root@clq0917 ~]# lvscan
  ACTIVE            '/dev/hongmao/lv1' [1000.00 MiB] inherit
  ACTIVE            '/dev/rhel/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [17.51 GiB] inherit
 4.格式化文件系统
 [root@clq0917 ~]# mkfs.xfs /dev/hongmao/lv1
meta-data=/dev/hongmao/lv1       isize=256    agcount=4, agsize=64000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=256000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
5.临时挂载
[root@clq0917 ~]# mkdir /lv1
[root@clq0917 ~]# mount /dev/hongmao/lv1 /lv1/
[root@clq0917 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root     18G  1.8G   16G   11% /
devtmpfs                 915M     0  915M    0% /dev
tmpfs                    921M     0  921M    0% /dev/shm
tmpfs                    921M  8.6M  912M    1% /run
tmpfs                    921M     0  921M    0% /sys/fs/cgroup
/dev/sdb1                188M  9.8M  178M    6% /mnt
/dev/sda1                497M   96M  401M   20% /boot
/dev/mapper/hongmao-lv1  997M   33M  965M    4% /lv1

3.卷组管理

扩展卷组,将新磁盘加入卷组

1.新磁盘加入pv
[root@clq0917 ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created
2.使用vgextend扩展
[root@clq0917 ~]# vgextend hongmao /dev/sdd
  Volume group "hongmao" successfully extended
***3将指定的磁盘从卷组中删除(一般不删)
bgreduce hongmao /dev/sdd
4.数据迁移卷组,同一的磁盘才可以进行在线迁移
检查当前逻辑卷vg中pv使用情况
[root@clq0917 ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  19.51g     0 
  /dev/sdc   hongmao lvm2 a--  20.00g 19.02g
  /dev/sdd   hongmao lvm2 a--  20.00g 20.00g
pvmove在线数据迁移至其它pv
[root@clq0917 ~]# pvmove /dev/sdc
  /dev/sdc: Moved: 27.6%
  /dev/sdc: Moved: 100.0%
[root@clq0917 ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  19.51g     0 
  /dev/sdc   hongmao lvm2 a--  20.00g 20.00g
  /dev/sdd   hongmao lvm2 a--  20.00g 19.02g

4.逻辑卷管理

逻辑卷扩展的容量不能超过卷组的容量

1.增加999M分配给逻辑卷(999 +999是不一样的)
[root@clq0917 ~]# lvextend -L +999M  /dev/hongmao/lv1
  Rounding size to boundary between physical extents: 1000.00 MiB
  Extending logical volume lv1 to 1.95 GiB
  Logical volume lv1 successfully resized
  分配磁盘池至多少百分比给逻辑卷(50%约等于499)
  [root@clq0917 ~]# lvextend -l +50%free /dev/hongmao/lv1
  Extending logical volume lv1 to 20.97 GiB
  Logical volume lv1 successfully resized
***文件系统扩展
xfs--->xfs_growfs /dev/hongmao/lv1
ext--->resize2fs /dev/hongmao/lv1

对ext4文件系统的逻辑卷裁剪容量

首先自己创建一个1G的逻辑卷作为裁剪的对象

lvcreate -n uplooking -L 1G finance
mkfs.ext4 /dev/finance/uplooking
#mkdir -p /finance/uplooking
#mount /dev/finance/uplooking /finance/uplooking/
#cp /etc/host* /finance/uplooking/

1、如果已经挂载,必须先卸载

umount /dev/finance/uplooking

2、裁剪容量,必须是先检测文件系统

e2fsck -f /dev/finance/uplooking
resize2fs /dev/finance/uplooking 512M

3、调整完毕后采取裁剪逻辑卷容量

lvreduce -L 512M /dev/finance/uplooking
WARNING: Reducing active logical volume to 512.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uplooking? [y/n]: y

4、强烈建议裁剪后,再次检测文件系统

e2fsck -f /dev/finance/uplooking

5、挂载测试

如果能够挂载,一般说明裁剪成功,文件系统没有损坏

mount /dev/finance/uplooking /mnt

/dev/mapper/finance-uplooking 472M 1.6M 435M 1% /mnt 而且文件系统容量被刷新了

  • 缩减逻辑卷注意事项:
  • 不能在线缩减,得先卸载;
  • 确保缩减后的空间大小依然能存储原有的所有数据;
  • 在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态。
  • 使用命令

e2fsck -f /PATH/TO/LV

以上就是Linux运维基础交换分区和lvm管理教程的详细内容,更多关于Linux运维管理的资料请关注脚本之家其它相关文章!

相关文章

  • centos7 mysql数据库安装和配置

    centos7 mysql数据库安装和配置

    本篇文章主要介绍了centos7 mysql数据库安装和配置 ,非常具有实用价值,希望对大家实用mysql能够有所帮助
    2017-01-01
  • Linux系统中swap分区的设置与增加/删除

    Linux系统中swap分区的设置与增加/删除

    我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?下面这篇文章主要给大家介绍了关于Linux系统中swap分区的设置与增加/删除的相关资料,需要的朋友可以参考下
    2018-07-07
  • centos下samba文件夹共享服务器配置详解

    centos下samba文件夹共享服务器配置详解

    这篇文章主要介绍了centos下samba文件夹共享服务器配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Vscode远程连接Ubuntu出错问题的解决方法

    Vscode远程连接Ubuntu出错问题的解决方法

    这篇文章主要给大家介绍了关于Vscode远程连接Ubuntu出错问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 分析从Linux源码看TIME_WAIT的持续时间

    分析从Linux源码看TIME_WAIT的持续时间

    本文主要介绍了Linux下的TIME_WAIT状态的持续时间,从状态转移到它的源码,一步步让你了解它的机制
    2021-06-06
  • Linux中如何为pip安装添加代理

    Linux中如何为pip安装添加代理

    这篇文章主要介绍了Linux中如何为pip安装添加代理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Centos7.4服务器安装apache及安装过程出现的问题解决方法

    Centos7.4服务器安装apache及安装过程出现的问题解决方法

    这篇文章主要介绍了Centos7.4服务器安装apache及安装过程出现的问题解决方法,结合实例形式分析了Centos7.4服务器安装apache相关命令、配置操作及端口占用等常见问题解决方法,需要的朋友可以参考下
    2019-03-03
  • Linux下NTP服务器配置详细过程

    Linux下NTP服务器配置详细过程

    大家好,本篇文章主要讲的是Linux下NTP服务器配置详细过程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-11-11
  • Linux中对MySQL优化实例详解

    Linux中对MySQL优化实例详解

    这篇文章主要介绍了Linux中对MySQL优化实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • linux下RPM包安装基于xinetd的服务的管理

    linux下RPM包安装基于xinetd的服务的管理

    大家好,本篇文章主要讲的是linux下RPM包安装基于xinetd的服务的管理,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论