• 逻辑卷LVM和交换分区


    一步一步创建逻辑卷和交换分区

    逻辑卷

    lvm的制作

    z第一步:拥有基本分区
    第二步:做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
    第三步:加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
    第四步:逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
    第五步:制作文件系统------mkfs.xfs lvm路径
    第六步:挂载 ------mount 使用lvm
    #制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的

    实战

    创建 pv

    [root@linux-server ~]# pvcreate /dev/sdb #创建pv
      Physical volume "/dev/sdb" successfully created.
    [root@linux-server ~]# pvs  #查看pv
      PV         VG     Fmt  Attr PSize   PFree 
      /dev/sdb          lvm2 ---   10.00g 10.00g
    [root@linux-server ~]# pvscan  #查看pv
      PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
      PV /dev/sdb                       lvm2 [10.00 GiB]
      Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]
    [root@linux-server ~]# pvdisplay  #查看pv  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    创建gv

    [root@linux-server ~]# vgcreate vg1 /dev/sdb   #创建vg
      Volume group "vg1" successfully created
    参数解释:
    -s 16M 指的是在分区的时候指定ps的大小。
    [root@linux-server ~]# vgs    #查看vg
      VG     #PV #LV #SN Attr   VSize   VFree  
      centos   1   2   0 wz--n- <19.00g      0 
      vg1      1   0   0 wz--n- <10.00g <10.00g
    [root@linux-server ~]# vgscan
      Reading volume groups from cache.
      Found volume group "centos" using metadata type lvm2
      Found volume group "vg1" using metadata type lvm2
    [root@linux-server ~]# vgdisplay #查看vg
    --- Volume group ---
      VG Name               vg1
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               <10.00 GiB
      PE Size               4.00 MiB
      Total PE              2559
      Alloc PE / Size       0 / 0 MiB
      Free  PE / Size       2559 / <10.00 GiB
      VG UUID               bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    创建lv

    [root@linux-server ~]# lvcreate -L 150M -n lv1 vg1  #创建lv
    Rounding up size to full physical extent 152.00 MiB
    Logical volume "lv1" created.
    [root@linux-server ~]# lvcreate -l 20 -n lv2 vg1  #采用PE方式在创建一个lv
    Logical volume "lv2" created.
    参数解释:
    -L 指定lv的大小
    -n 给创建的lv起一个名字
    -l 20 指定PE 
    [root@linux-server ~]# lvs   #查看lv
    LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    root centos -wi-ao---- <17.00g                                                    
    swap centos -wi-ao----   2.00g                                                    
    lv1  vg1    -wi-a----- 152.00m                                                    
    lv2  vg1    -wi-a-----  80.00m 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    制作文件系统并挂载

    [root@linux-server ~]# mkfs.xfs /dev/vg1/lv1
    [root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2
    [root@linux-server ~]# mkdir /mnt/lv{1..2}
    [root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
    [root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
    [root@linux-server ~]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
    /dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    LVM逻辑卷扩容

    VG扩容

    # 创建一个分区或者添加一个磁盘
    # 创建一个物理卷
    [root@linux-server ~]# vgs  #查看vg
      VG     #PV #LV #SN Attr   VSize   VFree 
      centos   1   2   0 wz--n- <19.00g     0 
      vg1      1   2   0 wz--n- <19.99g <9.77g
    [root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1  #扩展到850M
    [root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
    [root@linux-server ~]# lvs
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- <17.00g                                                    
      swap centos -wi-ao----   2.00g                                                    
      lv1  vg1    -wi-ao----   1.66g                                                    
      lv2  vg1    -wi-ao----  80.00m 
    [root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
    [root@linux-server ~]# lvs
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- <17.00g                                                    
      swap centos -wi-ao----   2.00g                                                    
      lv1  vg1    -wi-ao----  <1.68g                                                    
      lv2  vg1    -wi-ao----  80.00m
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    LV扩容

    [root@linux-server ~]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
    /dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
    [root@linux-server ~]# xfs_growfs /dev/vg1/lv1  #xfs扩容
    [root@linux-server ~]# resize2fs /dev/vg1/lv2   #ext4扩容
    [root@linux-server ~]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/vg1-lv1     xfs       1.7G  9.1M  1.7G   1% /mnt/lv1
    /dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    交换分区

    交换分区管理 Swap—也叫虚拟内存

    作用: ·提升· 内存的容量,防止OOM(Out Of Memory)

    现象是当内存不够的时候内核会随机杀死进程,它认为占用内存多的进程。(内核会先删除占用内存多的进程).
    
    如何制作交换分区?
    #我们可以将硬盘空间拿来当作内存来用
    什么时候用到交换分区?
    #当物理内存不够用的时候使用swap分区,防止物理内存耗尽
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    扩展知识

    swap分区大小设置规则
    在Linux系统,我们可以参照Redhat公司为RHEL5、RHEL6推荐的SWAP空间的大小划分原则,在你没有其他特别需求时,可以作为很好的参考依据。
    内存小于4GB时,推荐不少于2GB的swap空间;
    内存4GB~16GB,推荐不少于4GB的swap空间;
    内存16GB~64GB,推荐不少于8GB的swap空间;
    内存64GB~256GB,推荐不少于16GB的swap空间。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    一、查看当前的交换分区

    [root@linux-server ~]# free -m 
                  total        used        free      shared  buff/cache   available
    Mem:           1984         155        1679           8         149        1656
    Swap:          2047           0        2047
    [root@linux-server ~]# swapon -s  #查看交换分区信息
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、增加交换分区 可以是基本分区,LVM,File

    [root@linux-server ~]# fdisk /dev/sdd  #分一个主分区出来
    [root@linux-server ~]# partprobe /dev/sdd #刷新分区表
    [root@linux-server ~]# ll /dev/sdd*
    brw-rw----. 1 root disk 8, 16 Nov  9 14:11 /dev/sdd
    brw-rw----. 1 root disk 8, 17 Nov  9 14:11 /dev/sdd1
    
    • 1
    • 2
    • 3
    • 4
    • 5

    初始化

    [root@linux-server ~]# mkswap /dev/sdd1  #初始化
    Setting up swapspace version 1, size = 5242876 KiB
    no label, UUID=d2fd3bc0-10c0-4aeb-98ea-6b640d29b783
    
    • 1
    • 2
    • 3

    挂载

    [root@linux-server ~]# blkid /dev/sdd1  #查看UUID
    /dev/sdd1:  dea-6b640d29b783" TYPE="swap" 
    [root@linux-server ~]# vim /etc/fstab  #制作开机挂载
    /dev/sdd1       swap    swap    defaults        0 0
    [root@linux-server ~]# feswapon -a #激活swap分区(读取/etc/fstab)
    [root@linux-server ~]# swapon -s
    Filename                                Type            Size    Used    Priority
    /dev/dm-1                               partition       2097148 0       -1
    /dev/sdd1                               partition       5242876 0       -2
    
    #swapoff /dev/sdd1  #关闭swap分区
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    file制作

    [root@linux-server ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
    解释:dd 读入  从空设备里面拿空块 到交换分区                块多大  一共多少
    [root@linux-server ~]# mkswap /swap2.img  #初始化
    [root@linux-server ~]# vim /etc/fstab
    /swap2.img      swap    swap    defaults        0 0
    [root@linux-server ~]# chmod 600 /swap2.img #交换分区权限需要设置为600,默认644权限不安全。
    [root@linux-server ~]# swapon -a
    [root@linux-server ~]# swapon -s
    Filename                                Type            Size    Used    Priority
    /dev/dm-1                               partition       2097148 0       -1
    /dev/sdd1                               partition       5242876 0       -2
    /swap2.img                              file    524284  0       -3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    mount详解

    **常用挂载选项详解 **

    挂载设备文件名、UUID
    
    • 1

    常见的挂载选项

    -o         指定文件系统属性
    rw	       读写 
    ro	       只读 
    noexec	   不允许执行二进制文件
    exec	   允许执行二进制文件 
    auto	   mount -a 开机自动挂载 
    remount	   在线重新挂载 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    [root@linux-server ~]# mount  #查看已经挂载上的系统的属性
    
    • 1

    案例1:exec/noexec

    [root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1/		#挂载默认是有执行权限的
    [root@linux-server ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2  #不允许执行二进制文件
    [root@linux-server ~]# cat /mnt/lv1/hello.sh
    #!/bin/bash
    echo "hello"
    
    [root@linux-server ~]# cat /mnt/lv2/hello2.sh
    #!/bin/bash
    echo "hello"
    [root@linux-server ~]# chmod +x /mnt/lv1/hello.sh 
    [root@linux-server ~]# chmod +x /mnt/lv2/hello2.sh
    [root@linux-server ~]# /mnt/lv1/hello.sh
    hello
    [root@linux-server ~]# /mnt/lv2/hello2.sh
    -bash: /mnt/lv2/hello2.sh: Permission denied
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    取消挂载

    [root@linux-server ~]# df -Th
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/vg1-lv1     xfs       1.7G   34M  1.7G   2% /mnt/lv1
    /dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
    [root@linux-server ~]# umount /mnt/lv2/
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    Tomcat 环境变量
    基于SpringBoot的在线拍卖系统
    利用css var函数让你的组件样式输出规范样式API,可定制性更高;
    引擎开发日志:场景编辑器开发难题
    2023音视频流媒体高级开发教程
    力扣每日一题
    StarRocks 的学习笔记
    二叉树——遍历:按层次非递归遍历、先序非递归、先中后序递归遍历二叉树的链表结构【C语言,数据结构】(内含源代码)
    你听说过苹果的搜索引擎吗?
    【java_wxid项目】【第二章】【Spring Cloud Alibaba Nacos集成】
  • 原文地址:https://blog.csdn.net/XiaoLinZuoTi/article/details/132723539