基础

新建分区

使用分区

1. 格式化分区
类型 = xfs & ext4
mkfs.类型 /dev/sdb1
mkfs.类型 -f /dev/sdb1  #覆盖类型

2. 挂载分区
mkdir /sdb1
mount /dev/sdb1 /sdb1

3. 卸载分区
umount /dev/sdb1

若不成功则看进程
lsof /sdb1
kill -9 进程ID

自动挂载

vim /etc/fstab

#把  sdb1  挂到  /dev/sdb1
/dev/sdb1   /sdb1    xfs   defaults 0 0

mount -a   #自动挂载
详解

/dev/sdb1 /sdb1 xfs defaults 0 0

/dev/sdb1/sdb1xfs
分区设备挂载点文件系统类型
defaults00
挂载选项是否备份是否检测

SWAP 虚拟内存

即当物理内存(即运存)不够用时,虚拟内存先上去顶着,说白了就是没那么容易死机
操作步骤:
  • 1.创建一个主分区
  • 2.立马扫描一个分区(partprobe 磁盘)
  • 3.创建swap
  • 4.开启swap
  • 5.挂载
partprobe  /dev/sdb
mkswap /dev/sdb1
swapon /dev/sdb1

## 挂载
blkid /dev/sdb1
UUID=~~~~~ swap swap  defaults 0 0

LVM

原理

物理磁盘的空间分解为若干个物理卷,然后将多个物理卷汇聚为卷组,最后将卷组的部分或全部转化为可供用户使用的逻辑卷。逻辑卷的空间可以来自于多个物理磁盘

创建过程 *

  • 1.物理硬盘分区
  • 2.创建物理卷
  • 3.创建卷组
  • 4.创建逻辑卷
  • 5.格式化逻辑卷
  • 6.挂载逻辑卷到目录

操作命令

查询命令

常用命令总结

## PV
    pvcreate 分区名称
    pvdisplay
    pvremove 分区名称
## VG
    vgcreate VG名称 /dev/分区
    vgdisplay
    vgremove VG名称
    vgextend VG名称 /dev/分区
    vgreduce VG名称 /dev/分区
## LV
    lvcreate -n LV名称 -L 大小M VG名称
    lvdisplay
    lvremove /dev/VG名称/LVM名称
    lvextend -L 大小m /dev/VG名称/lv名称
    lvreduce -L 大小m /dev/VG名称/lv名称

创建&使用逻辑卷

创建物理卷(PV)

过程:添加分区 -> 改类型 -> pvcreate
fdisk /dev/sdb
## 创建分区(需注意:先创建扩展分区,再创建逻辑卷)
## 转成8e格式
pvcreate (转成8e的那些分区)
pvs (查看当前物理卷)

创建卷组(VG)

语法:vgcreate vg名字 pv的名字 (可以跟多个pv)
vgcreate vg1 /dev/sdb5 /dev/sdb6
vgdisplay vg01 ##查看vg信息

[root@localhost ~]# vgdisplay vg1
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2        ## PV数量
  VG Size               992.00 MiB   ## VG大小
  PE Size               4.00 MiB  ## 所有逻辑卷只能以4mb倍数来扩充&缩减
  Total PE              248   ## PE数量
  Alloc PE / Size       0 / 0   
  Free  PE / Size       248 / 992.00 MiB
  VG UUID               cvwIdG-4irP-bYFt-3Geg-V8fy-8wjO-qGCxrw
########################
更改PE Size (可用大小为 8KB ~ 512MB)
vgcreate -s 8M vg1 /dev/sdb5 /dev/sdb6

创建逻辑卷(LV)

lvcreate -n 逻辑卷的名称 -L 指定lv大小的SIZE(M,G) vgname
lvcreate -n lv1 -L 200M vg1
## 也可以通过-l 指定 PE的数量来指定空间大小(PE数量 * 每个PE大小 = 空间大小)
lvcreate -n lv2 -l 10 vg1

## 因为我上面的PE大小为4MB,用了10个,所以最终大小是40MB
[root@localhost ~]# lvs
  LV   VG     Attr       LSize  
  root centos -wi-ao---- <12.50g
  swap centos -wi-ao----   1.50g
  lv1  vg1    -wi-a----- 200.00m
  lv2  vg1    -wi-a-----  40.00m
2019-12-03 14:49:29 星期二
创建LV报错: Device /dev/名字 not found (or ignored by filtering)
办法:dd if=/dev/urandom of=/dev/名字 bs=512 count=64

物理卷 -》 卷组 -》 逻辑卷 -》 格式化使用

mkfs.xfs /dev/vg1/lv1
mount /dev/vg1/lv1 /lv1/  ## 目录偷偷创建了

[root@localhost ~]# df -h
/dev/mapper/vg1-lv1      197M   11M  187M    6% /lv1

扩容 缩小Lvm

扩容卷组

## 当然要先创建个物理卷然后加入卷组 (物理卷要 8e 格式!)
vgextend vg1 /dev/sdb7

######## 前 ##########
[root@localhost ~]# vgs vg1
  VG  #PV #LV #SN Attr   VSize   VFree  
  vg1   2   2   0 wz--n- 992.00m 752.00m

######## 后 ##########
[root@localhost ~]# vgs vg1
  VG  #PV #LV #SN Attr   VSize VFree  
  vg1   3   2   0 wz--n- 1.16g 948.00m

扩容逻辑卷

1.首先,确定一下是否有可用的扩容空间,因为空间是从卷组里面抽出来的
[root@localhost ~]# vgs vg1
  VG  #PV #LV #SN Attr   VSize VFree  
  vg1   3   2   0 wz--n- 1.16g 948.00m
2.扩展逻辑卷
## 50M:lv2扩展成60M
## +50M:lv2扩大60M
lvextend -L 60M /dev/vg1/lv2
3.可以看到LV虽然扩展了,但是文件系统大小还是原来的,下面开始扩容文件系统
[root@localhost ~]# lvs 
  LV   VG     Attr       LSize
  root centos -wi-ao---- <12.50g
  swap centos -wi-ao----   1.50g
  lv1  vg1    -wi-ao---- 200.00m
  lv2  vg1    -wi-a-----  60.00m  

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/vg1-lv2       49M  2.8M   46M    6% /lv2

-------------解决办法----------------
xfs格式:xfs_growfs /lv2
ext格式:resize2fs /dev/vg1/lv2
------------------------------------
[root@localhost ~]# df -h
/dev/mapper/vg1-lv2       57M  2.8M   54M    5% /lv2

缩小逻辑卷

需要注意:xfs不能缩小只能扩展,所以需要格式化成ext4进行操作

1.卸载逻辑卷,使逻辑卷离线,并格式化
umount /dev/vg1/lv2
mkfs.ext4 /dev/vg1/lv2
2.检查修复 并 重新定义大小
e2fsck -f /dev/vg1/lv2   ## 求稳就加上
resize2fs /dev/vg1/lv2 30M
3.缩小
lvreduce -L -30M /dev/vg1/lv2  ## 缩小 30M

[root@localhost ~]# lvs
  LV   VG     Attr       LSize
  lv2  vg1    -wi-a-----  32.00m

缩小卷组

实质就是把物理卷丢出去
## 1.把sdb5的数据丢到sdb6上
pvmove /dev/sdb5 /dev/sdb6

  /dev/sdb5: Moved: 43.10%
  /dev/sdb5: Moved: 86.21%
  /dev/sdb5: Moved: 100%

## 2.丢
vgreduce vg1 /dev/sdb5

删除 Lvm

删除逻辑卷

umount /lv2
lvremove /dev/vg1/lv2

删除卷组

需确保卷组中无逻辑卷(Cur LV=0)
vgdisplay vg1
  --- Volume group ---
  Cur LV        0
  
vgremove vg1

删除物理卷

实质:将物理卷还原为普通分区
pvremove /dev/sdb5

进入单用户模式后重新挂载

mount -o remount,rw /
Last modification:June 28th, 2021 at 04:27 pm