zoukankan      html  css  js  c++  java
  • 【Linux】【Basis】磁盘分区

    1. Linux磁盘及文件系统管理
    1.1. 基本概念:
    1.1.1. 磁盘接口类型:
    IDE(ata):并口,133MB/s,设备/dev/hd[a-z]
    SCSI:并口,Ultrascsi320, 320MB/S, UltraSCSI640, 640MB/S,设备/dev/sd[a-z]
        宽带:16-1
        窄带:8-1
    SATA:串口,6gbps,设备/dev/sd[a-z]
    SAS:串口,6gbps,设备/dev/sd[a-z]
    USB:串口,480MB/s,设备/dev/sd[a-z]
    
    并口:同一线缆可以接多块设备;
    串口:同一线缆只可以接一个设备;
                     
    1.1.2. 硬盘类型:
    机械硬盘
        track:磁道
        sector:扇区,512bytes
        cylinder:柱面
            分区划分基于柱面:
            平均寻道时间:
    
    固态硬盘        

    https://www.cnblogs.com/chensiqiqi/p/6432371.html 

    1.1.3. 设备类型:
    块设备(block):随机访问,数据交换单位是“块”;
    字符设备(character):线性访问,数据交换单位是“字符”;
                 
    1.1.4. 设备文件:FHS,他是设备文件:关联至设备的驱动程序;设备的访问入口;
    设备号:
      major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;
      minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;
                             
    mknod命令:
      make block or character special files
      mknod  [OPTION]...  NAME  TYPE  [MAJOR  MINOR]
        -m MODE:创建后的设备文件的访问权限;
                   
    1.1.5. 引用设备的方式:
      设备文件名
      卷标
      UUID
                         
    1.1.6. 磁盘分区:MBR, GPT
      MBR(Master Boot Record):从第一扇区开始,0 sector
        分为三部分:
          446bytes:bootloader, 程序,引导启动操作系统的程序;
          64bytes:分区表,每16bytes标识一个分区,一共只能有4个分区(四个主分区或者三主一扩展,扩展分区可以分为n个逻辑分区);
          2bytes:MBR区域的有效性标识;55AA为有效;
         
    1.1.7. fdisk命令:
      查看磁盘的分区信息:
        fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况;
      管理分区
        fdisk  device
      fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上;
      常用命令:
        n:创建新分区
        d:删除已有分区
        t:修改分区类型
        l:查看所有已经ID
        w:保存并退出
        q:不保存并退出
        m:查看帮助信息
        p:显示现有分区信息
      注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;
                     
      查看:cat  /proc/partitions
      通知内核强制重读磁盘分区表:
        CentOS 5:partprobe [device]
        CentOS 6,7:partx, kpartx
          partx -a [device]
          kpartx -af [device]
      分区创建工具:parted, sfdisk;
                     
      创建文件系统:
      格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)
        元数据区,数据区
        元数据区:
          文件元数据:inode (index node)
          大小、权限、属主属组、时间戳、数据块指针
          符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
          设备文件:存储数据指针的空间当中存储的是设备号(major, minor);
          bitmap index:位图索引
                 
    1.1.8. VFS: Virtual File System
      Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, reiserfs, btrfs
             Linux 常用的文件系统 https://mp.weixin.qq.com/s/Q05C0wp6WkFTtC7aBJxbzA
      光盘:iso9660
      网络文件系统:nfs, cifs
      集群文件系统:gfs2, ocfs2
      内核级分布式文件系统:ceph
      windows的文件系统:vfat, ntfs
      伪文件系统:proc, sysfs, tmpfs, hugepagefs
      Unix的文件系统:UFS, FFS, JFS
      交换文件系统:swap
      用户空间的分布式文件系统:mogilefs, moosefs, glusterfs
     
    https://blog.csdn.net/xiaofei0859/article/details/71222776
                 
                     
    1.1.10. 链接文件:访问同一个文件不同路径;
    硬链接:指向同一个inode的多个文件路径;
      特性:
        (1) 目录不支持硬链接;
        (2) 硬链接不能跨文件系统;
        (3) 创建硬链接会增加inode引用计数;
      创建:
    ln  src  link_file

    符号链接:指向一个文件路径的另一个文件路径;

      特性:
        (1) 符号链接与文件是两人个各自独立的文件,各有自己的inode;对原文件创建符号链接不会增加引用计数;
        (2) 支持对目录创建符号链接,可以跨文件系统;
        (3) 删除符号链接文件不影响原文件;但删除原文件,符号指定的路径即不存在,此时会变成无效链接;
      注意:符号链接文件的大小是其指定的文件的路径字符串的字节数;
      创建:     
    ln -s  src link_file
     
    2. 文件系统管理工具:
    2.1. 创建文件系统的工具:mkfs
        mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...
     
    2.2. 检测及修复文件系统的工具:fsck
        fsck.ext2, fsck.ext3, ...
     
    2.3. 查看其属性的工具:dumpe2fs, tune2fs
     
    2.4. 调整文件系统特性:tune2fs
     
    2.5. ext系列文件系统专用管理工具:mke2fs
      mke2fs [OPTIONS]  device
        -t {ext2|ext3|ext4}:指明要创建的文件系统类型
          mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
        -b {1024|2048|4096}:指明文件系统的块大小;
        -L LABEL:指明卷标;
        -j:创建有日志功能的文件系统ext3;
          mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
        -i #:bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个Indode;
        -N #:直接指明要给此文件系统创建的inode的数量;
        -m #:指定预留的空间,百分比;
        -O [^]FEATURE:以指定的特性创建目标文件系统;
                     
    2.6. e2label命令:卷标的查看与设定
          查看:e2label device
          设定:e2label device LABEL
     
    2.7. tune2fs命令:查看或修改ext系列文件系统的某些属性
        adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems;
          注意:块大小创建后不可修改;
                     
      tune2fs [OPTIONS] device
        -l:查看超级块的内容;
        修改指定文件系统的属性:
        -j:ext2 --> ext3;
        -L LABEL:修改卷标;
        -m #:调整预留空间百分比;
        -O [^]FEATHER:开启或关闭某种特性;
        -o [^]mount_options:开启或关闭某种默认挂载选项
          acl
          ^acl
                                 
    2.8. dumpe2fs命令:显示ext系列文件系统的属性信息
        dumpe2fs  [-h] device
        用于实现文件系统检测的工具
        因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行;
                     
    2.9. ext系列文件系统的专用工具:
        e2fsck : check a Linux ext2/ext3/ext4 file system
        e2fsck [OPTIONS]  device
          -y:对所有问题自动回答为yes;
          -f:即使文件系统处于clean状态,也要强制进行检测;
        fsck:check and repair a Linux file system
          -t fstype:指明文件系统类型;
            fsck -t ext4 = fsck.ext4
          -a:无须交互而自动修复所有错误;
          -r:交互式修复;      
             
    2.10. CentOS 6如何使用xfs文件系统:
      # yum  -y  install  xfsprogs
        创建:mkfs.xfs
        检测:fsck.xfs        
             
    2.11. blkid命令:
            blkid device
            blkid  -L LABEL:根据LABEL定位设备
            blkid  -U  UUID:根据UUID定位设备
             
    2.12. swap文件系统:
            Linux上的交换分区必须使用独立的文件系统;
                且文件系统的System ID必须为82;
                 
            创建swap设备:mkswap命令
                mkswap [OPTIONS]  device
                    -L LABEL:指明卷标
                    -f:强制
                     
    2.13. Windows无法识别Linux的文件系统; 因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Linux同时支持的文件系统:fat32(vfat);
            # mkfs.vfat device
             
    2.14. 文件系统的使用:
      首先要“挂载”:mount命令和umount命令
      根文件系统这外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”;
      挂载点:mount_point,用于作为另一个文件系统的访问入口;
        (1) 事先存在;
        (2) 应该使用未被或不会被其它进程使用到的目录;
        (3) 挂载点下原有的文件将会被隐藏;
                 
      mount命令:
        mount  [-nrw]  [-t vfstype]  [-o options]  device  dir
        命令选项:
          -r:readonly,只读挂载;
          -w:read and write, 读写挂载;
          -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;
          -t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;
          -L LABEL:挂载时以卷标的方式指明设备;
            mount -L LABEL dir
          -U UUID:挂载时以UUID的方式指明设备;
            mount -U UUID dir
          -o options:挂载选项
            sync/async:同步/异步操作;
            atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
            diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
            remount:重新挂载;
            acl:支持使用facl功能;
              # mount -o acl  device dir
              # tune2fs  -o  acl  device
              ro:只读
              rw:读写
              dev/nodev:此设备上是否允许创建设备文件;
              exec/noexec:是否允许运行此设备上的程序文件;
              auto/noauto:
              user/nouser:是否允许普通用户挂载此文件系统;
              suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;
     
              defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime.
                         
        一个使用技巧:可以实现将目录绑定至另一个目录上,作为其临时访问入口;
          mount --bind  源目录  目标目录
          查看当前系统所有已挂载的设备:
            # mount
            # cat  /etc/mtab
            # cat  /proc/mounts
          mount  -a:可自动挂载定义在/etc/fstab中所支持自动挂载的设备;
          挂载光盘:
            mount  -r  /dev/cdrom  mount_point
            光盘设备文件:/dev/cdrom, /dev/dvd
          挂载U盘:
            事先识别U盘的设备文件;
          挂载本地的回环设备:
            # mount  -o  loop  /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT
     
     
      umount命令:
        umount  device|dir
          注意:正在被进程访问到的挂载点无法被卸载;
          查看被哪个或哪些进程所战用:
            # lsof  MOUNT_POINT
            # fuser -v  MOUNT_POINT
          终止所有正在访问某挂载点的进程:
            # fuser  -km  MOUNT_POINT
                         
    2.15. 交换分区的启用和禁用:
      创建交换分区的命令:mkswap
        启用:swapon
          swapon  [OPTION]  [DEVICE]
            -a:定义在/etc/fstab文件中的所有swap设备;
        禁用:swapoff
          swapoff DEVICE
                 
    2.16. 设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件
      每行定义一个要挂载的文件系统及相关属性:
        6个字段:
          (1) 要挂载的设备:
            设备文件;
            LABEL
            UUID
            伪文件系统:如sysfs, proc, tmpfs等
          (2) 挂载点
            swap类型的设备的挂载点为swap;
          (3) 文件系统类型;
          (4) 挂载选项
            defaults:使用默认挂载选项;
            如果要同时指明多个挂载选项,彼此间以事情分隔;
              defaults,acl,noatime,noexec
          (5) 转储频率
            0:从不备份;
            1:每天备份;
            2:每隔一天备份;
          (6) 自检次序
            0:不自检;
            1:首先自检,通常只能是根文件系统可用1;
            2:次级自检
     
    2.17. 两个命令:df和du
      df命令:
        df [OPTION]... [FILE]...
          -l:仅显示本地文件的相关信息;
          -h:human-readable
          -i:显示inode的使用状态而非blocks
      du命令:
        du [OPTION]... [FILE]...
          -s: sumary
          -h: human-readable
     
    2.18. 查看硬盘是不是固态硬盘:
    # cat /sys/block/sda/queue/rotational
    1 #不是固态硬盘
    0 #是固态硬盘

    3. lvm

    写个例子:

    下面是本机状态

    [root@hctjosadm01 ~]# df -h
    Filesystem                                Size  Used Avail Use% Mounted on
    /dev/mapper/vg_system-lv_root             4.0G   69M  4.0G   2% /
    devtmpfs                                  910M     0  910M   0% /dev
    tmpfs                                     920M     0  920M   0% /dev/shm
    tmpfs                                     920M   41M  880M   5% /run
    tmpfs                                     920M     0  920M   0% /sys/fs/cgroup
    /dev/mapper/vg_system-lv_usr              4.0G  1.3G  2.8G  31% /usr
    /dev/sda1                                1014M  143M  872M  15% /boot
    /dev/mapper/vg_system-lv_home             4.0G   33M  4.0G   1% /home
    /dev/mapper/vg_system-lv_opt              4.0G   33M  4.0G   1% /opt
    /dev/mapper/vg_system-lv_var              4.0G  2.3G  1.8G  56% /var
    /dev/mapper/vg_system-lv_docker_registry   20G  104M   20G   1% /data_docker_registry
    /dev/mapper/vg_system-lv_tmp              4.0G   33M  4.0G   1% /tmp
    tmpfs                                     184M     0  184M   0% /run/user/0
    [root@hctjosadm01 ~]# pvs
      PV         VG        Fmt  Attr PSize   PFree  
      /dev/sda2  vg_system lvm2 a--  <99.00g <51.00g
    [root@hctjosadm01 ~]# lvs
      LV                 VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      lv_docker_registry vg_system -wi-ao---- 20.00g                                                    
      lv_home            vg_system -wi-ao----  4.00g                                                    
      lv_opt             vg_system -wi-ao----  4.00g                                                    
      lv_root            vg_system -wi-ao----  4.00g                                                    
      lv_swap            vg_system -wi-ao----  4.00g                                                    
      lv_tmp             vg_system -wi-ao----  4.00g                                                    
      lv_usr             vg_system -wi-ao----  4.00g                                                    
      lv_var             vg_system -wi-ao----  4.00g                                                    
    [root@hctjosadm01 ~]# vgs
      VG        #PV #LV #SN Attr   VSize   VFree  
      vg_system   1   8   0 wz--n- <99.00g <51.00g

    3.1. 创建一个可用分区/文件夹

    添加一块10G磁盘

    [root@hctjosadm01 ~]# fdisk -l /dev/sdb
    
    Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    如果是虚拟机而且安装了vmtools,会自己识别,如果是物理机需要执行

    echo "- - -" > /sys/class/scsi_host/host0/scan

    把/dev/sdb创建成pv

    [root@hctjosadm01 ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created.
    [root@hctjosadm01 ~]# pvs
      PV         VG        Fmt  Attr PSize   PFree  
      /dev/sda2  vg_system lvm2 a--  <99.00g <51.00g
      /dev/sdb             lvm2 ---   10.00g  10.00g

    创建vg

    [root@hctjosadm01 ~]# vgcreate vg_test /dev/sdb
      Volume group "vg_test" successfully created
    [root@hctjosadm01 ~]# vgs
      VG        #PV #LV #SN Attr   VSize   VFree  
      vg_system   1   8   0 wz--n- <99.00g <51.00g
      vg_test     1   0   0 wz--n- <10.00g <10.00g

    创建lv,使用100%的剩余空间

    [root@hctjosadm01 ~]# lvcreate -n lv_test -l 100%FREE vg_test
      Logical volume "lv_test" created.
    [root@hctjosadm01 ~]# lvs
      LV                 VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      lv_docker_registry vg_system -wi-ao----  20.00g                                                    
      lv_home            vg_system -wi-ao----   4.00g                                                    
      lv_opt             vg_system -wi-ao----   4.00g                                                    
      lv_root            vg_system -wi-ao----   4.00g                                                    
      lv_swap            vg_system -wi-ao----   4.00g                                                    
      lv_tmp             vg_system -wi-ao----   4.00g                                                    
      lv_usr             vg_system -wi-ao----   4.00g                                                    
      lv_var             vg_system -wi-ao----   4.00g                                                    
      lv_test            vg_test   -wi-a----- <10.00g        

    格式化并挂载

    [root@hctjosadm01 ~]# mkfs.xfs /dev/mapper/vg_test-lv_test 
    meta-data=/dev/mapper/vg_test-lv_test isize=512    agcount=4, agsize=655104 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=2620416, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@hctjosadm01 ~]# mkdir /test
    [root@hctjosadm01 ~]# mount /dev/mapper/vg_test-lv_test /test/

    需要开机启动的话需要修改/etc/fstab

    echo "/dev/mapper/vg_test-lv_test /test/    xfs defaults 0 0" >> /etc/fstab

    3.2. 增加一块磁盘,扩展分区容量

    增加一块磁盘/dev/sdc

    [root@hctjosadm01 ~]# fdisk -l /dev/sdc
    
    Disk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    吧/dev/sdc加入卷组vg_test中

    [root@hctjosadm01 ~]# vgextend vg_test /dev/sdc
      Physical volume "/dev/sdc" successfully created.
      Volume group "vg_test" successfully extended
    [root@hctjosadm01 ~]# pvs
      PV         VG        Fmt  Attr PSize   PFree  
      /dev/sda2  vg_system lvm2 a--  <99.00g <51.00g
      /dev/sdb   vg_test   lvm2 a--  <10.00g      0 
      /dev/sdc   vg_test   lvm2 a--  <10.00g <10.00g
    [root@hctjosadm01 ~]# vgs
      VG        #PV #LV #SN Attr   VSize   VFree  
      vg_system   1   8   0 wz--n- <99.00g <51.00g
      vg_test     2   1   0 wz--n-  19.99g <10.00g

    增加lv大小

    [root@hctjosadm01 ~]# lvextend -L +5G /dev/mapper/vg_test-lv_test 
      Size of logical volume vg_test/lv_test changed from <10.00 GiB (2559 extents) to <15.00 GiB (3839 extents).
      Logical volume vg_test/lv_test successfully resized.
    [root@hctjosadm01 ~]# xfs_growfs /dev/mapper/vg_test-lv_test 
    meta-data=/dev/mapper/vg_test-lv_test isize=512    agcount=4, agsize=655104 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=2620416, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 2620416 to 3931136

    #如果是ext4的文件系统,请使用resize2fs /dev/mapper/vg_test-lv_test
    [root@hctjosadm01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_system-lv_root 4.0G 69M 4.0G 2% / devtmpfs 910M 0 910M 0% /dev tmpfs 920M 0 920M 0% /dev/shm tmpfs 920M 41M 880M 5% /run tmpfs 920M 0 920M 0% /sys/fs/cgroup /dev/mapper/vg_system-lv_usr 4.0G 1.3G 2.8G 31% /usr /dev/sda1 1014M 143M 872M 15% /boot /dev/mapper/vg_system-lv_home 4.0G 33M 4.0G 1% /home /dev/mapper/vg_system-lv_opt 4.0G 33M 4.0G 1% /opt /dev/mapper/vg_system-lv_var 4.0G 2.3G 1.8G 56% /var /dev/mapper/vg_system-lv_docker_registry 20G 104M 20G 1% /data_docker_registry /dev/mapper/vg_system-lv_tmp 4.0G 33M 4.0G 1% /tmp tmpfs 184M 0 184M 0% /run/user/0 /dev/mapper/vg_test-lv_test 15G 33M 15G 1% /test

    3.3. 缩小lv大小

    先把文件系统umount

    [root@hctjosadm01 ~]# umount /test

    缩小文件系统会造成磁盘无法正常

    [root@hctjosadm01 ~]# lvreduce -L 5G /dev/mapper/vg_test-lv_test
      WARNING: Reducing active logical volume to 5.00 GiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce vg_test/lv_test? [y/n]: y
      Size of logical volume vg_test/lv_test changed from <15.00 GiB (3839 extents) to 5.00 GiB (1280 extents).
      Logical volume vg_test/lv_test successfully resized.
    # 缩小后文件容易损坏 [root@hctjosadm01
    ~]# mount /dev/mapper/vg_test-lv_test /test mount: /dev/mapper/vg_test-lv_test: can't read superblock [root@hctjosadm01 ~]# mkfs.xfs /dev/mapper/vg_test-lv_test mkfs.xfs: /dev/mapper/vg_test-lv_test appears to contain an existing filesystem (xfs). mkfs.xfs: Use the -f option to force overwrite.
    # 重新格式化要加-f [root@hctjosadm01
    ~]# mkfs.xfs -f /dev/mapper/vg_test-lv_test meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310720, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@hctjosadm01 ~]# mount /dev/mapper/vg_test-lv_test /test [root@hctjosadm01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_system-lv_root 4.0G 69M 4.0G 2% / devtmpfs 910M 0 910M 0% /dev tmpfs 920M 0 920M 0% /dev/shm tmpfs 920M 41M 880M 5% /run tmpfs 920M 0 920M 0% /sys/fs/cgroup /dev/mapper/vg_system-lv_usr 4.0G 1.3G 2.8G 31% /usr /dev/sda1 1014M 143M 872M 15% /boot /dev/mapper/vg_system-lv_home 4.0G 33M 4.0G 1% /home /dev/mapper/vg_system-lv_opt 4.0G 33M 4.0G 1% /opt /dev/mapper/vg_system-lv_var 4.0G 2.3G 1.8G 56% /var /dev/mapper/vg_system-lv_docker_registry 20G 104M 20G 1% /data_docker_registry /dev/mapper/vg_system-lv_tmp 4.0G 33M 4.0G 1% /tmp tmpfs 184M 0 184M 0% /run/user/0 /dev/mapper/vg_test-lv_test 5.0G 33M 5.0G 1% /test

    3.4. 从卷组中移除pv,注意,只能在线移除没有在用的pv

    [root@hctjosadm01 ~]# vgreduce vg_test /dev/sdc
      Removed "/dev/sdc" from volume group "vg_test"
    [root@hctjosadm01 ~]# pvs
      PV         VG        Fmt  Attr PSize   PFree  
      /dev/sda2  vg_system lvm2 a--  <99.00g <51.00g
      /dev/sdb   vg_test   lvm2 a--  <10.00g  <5.00g
      /dev/sdc             lvm2 ---   10.00g  10.00g

    3.5. 吧卷组整个移除

    [root@hctjosadm01 ~]# umount /test
    [root@hctjosadm01 ~]# lvremove /dev/mapper/vg_test-lv_test
    Do you really want to remove active logical volume vg_test/lv_test? [y/n]: y
      Logical volume "lv_test" successfully removed
    [root@hctjosadm01 ~]# vgremove vg_test
      Volume group "vg_test" successfully removed
    [root@hctjosadm01 ~]# pvs
      PV         VG        Fmt  Attr PSize   PFree  
      /dev/sda2  vg_system lvm2 a--  <99.00g <51.00g
      /dev/sdb             lvm2 ---   10.00g  10.00g
      /dev/sdc             lvm2 ---   10.00g  10.00g
    [root@hctjosadm01 ~]# vgs
      VG        #PV #LV #SN Attr   VSize   VFree  
      vg_system   1   8   0 wz--n- <99.00g <51.00g
  • 相关阅读:
    设计模式(八): 策略模式
    设计模式(七): 迭代器模式
    设计模式(六): 建造者模式
    设计模式(五): 装饰者模式
    设计模式(四): 适配器模式
    设计模式(三): 抽象工厂模式
    设计模式(二): 工厂模式
    设计模式(一): 单例模式
    Hibernate三种状态,缓存,以及update更新问题
    Servlet 生命周期、工作原理
  • 原文地址:https://www.cnblogs.com/demonzk/p/6296765.html
Copyright © 2011-2022 走看看