Centos 磁盘管理

1、磁盘设备的命名

/dev/sda2
s=硬件接口类型(sata、scsi),d=disk(硬盘),a=第1块硬盘,2=第几个分区
在这里插入图片描述

2、磁盘分区思路

  • 进入分区表 新建分区 fdisk
  • 更新分区表《刷新分区表》
  • 格式化分区——文件系统
  • 挂载使用>>mount【开机自动挂载|autofs自动挂载】

2.1.fdisk分区

2.1.1、使用fdisk分区

在这里插入图片描述

2.2.使用命令 lsblk 可以查看磁盘的大小和挂载情况

在这里插入图片描述

2.3也可以使用命令 lsblk -f 查看磁盘的格式

在这里插入图片描述

2.4两个命令可以配搭看

在这里插入图片描述

3.磁盘分区

3.1 新建分区

1.在/root目录下创建RepositoryDisk文件夹来挂载新磁盘,该目录和文件夹可以任意,按照自己的需求来,可以挂载到任意目录下
在这里插入图片描述
2.新加的磁盘是在/dev/新磁盘名,可以在/dev/目录下看到新磁盘
在这里插入图片描述
3.使用命令 fdisk /dev/磁盘名称 进行分区,如 fdisk /dev/sdb
在这里插入图片描述
4.执行上述命令之后,提示输入m获取帮助,输入m回车【如果不想查看帮助,这一步可以忽略】
在这里插入图片描述
5.新加分区,总共有5步,下面介绍每一步,每一步以回车结束

输入n添加新分区
输入p新建主分区
指定分区编号,输入1即可
指定起始扇区,默认即可,不推荐更改
指定结束扇区,代表分区大小,可以使用K,M,G指定分区大小,例如分配50G则输入50G即可

在这里插入图片描述 6.执行上述操作之后,需要输入 w 确定分区,不然不会生效
在这里插入图片描述
7.如果是删除分区,则fdisk /dev/sdb执行之后,输入d表示删除分区,然后输入w确认更改
在这里插入图片描述8.通过lsblk和lsblk -f可以看到新建的分区已经生效,但是并没有格式化和挂载,此时还是不可以使用
在这里插入图片描述

3.2.刷新分区表

  • partprobe /dev/sdb

3.2 注意:

在这里插入图片描述

4 格式分区

4.1.命令:mkfs -t 分区系统格式 磁盘分区

·mkfs -t xfs /dev/sdb1(sdb1是sdb磁盘分区后得到的)
在这里插入图片描述

4.2.再次使用 lsblk -f 可以看到格式分区成功,但是还没有挂载点

在这里插入图片描述

5 挂载分区

5.1临时挂载

  • 此种方式挂载只是暂时挂载,系统重启之后需要重新挂载才行
  • 现在把sdb1挂载到之前创建的/root/RepositoryDisk目录下
  • 挂载分区使用 mount 命令:mount 分区 挂载目录,挂载之后可以通过lsblk -f查看是否挂载成功
  • mount /dev/sdb1 /root/RepositoryDisk
  • lsblk -f
    在这里插入图片描述
  • 通过 df -h 命令查看是否真的成功,可以看到系统已经能正确加载新磁盘
    在这里插入图片描述
mount 参数

在这里插入图片描述
在这里插入图片描述
vfat dosfslabel

5.2 永久挂载新分区

  • 上述步骤的挂载只是暂时挂载,系统重启之后需要重新挂载才行
  • 如果每次使用都需要重新挂载则会很麻烦,所以我们可以永久挂载分区,开机自动挂载
  • 永久生效需要将磁盘信息写入到 /etc/fstab 中,这样开机才能自动加载
    在这里插入图片描述
5.2.1.写入新建的磁盘信息,需要我们配置5个信息,分别代表如下信息
  • 第一个需要挂载的分区,如/dev/sdb1
  • 第二个分区挂载点,如挂载到/root/RepositoryDisk下
  • 第三个分区格式,和自己格式化分区时指定格式一致
  • 第四个直接defaults即可,和系统保持一致
  • 第五个和系统保持一致,输入0即可
  • 第六个和系统保持一致,输入0即可
    在这里插入图片描述

6.输入完成后保存退出,然后重启虚拟机,查看是否自动加载,重启之后可以看到成功自动加载

在这里插入图片描述

7.取消挂载分区

如果此时不想挂载此分区,那么可以使用命令:umount 分区 或者 umount 挂载目录,以下两种方式均可
umount /dev/sdb1
umount /root/RepositoryDisk
注意使用umount命令取消挂载分区的时候不要在分区挂载目录内使用或者磁盘没有被使用,否则将会出现:device is busy 提示
取消挂载分区之后可以挂载到另外的分区,可以挂载到需要任意目录下,但是建议不要挂载系统目录中
注意:请不要直接将硬盘挂载到/home、/root等系统原有目录下,很容导致问题

8.逻辑卷介绍(LVM)

逻辑卷:
逻辑卷(LVM)︰它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。
特点:
1、动态在线扩容
2、离线裁剪
3、数据条带化
4、数据镜像

8.1逻辑卷概念

在这里插入图片描述

  • 物理卷(Physical Volume,PV)
    物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。
  • 卷组(volume Group, vG)
    卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。一个LVM系统中可以只有一个卷组,也可以包含多个卷组。
  • 逻辑卷(Logical Volume, LV)
    逻辑卷建立在卷组之上,它是从卷组中"切出"的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。
  • 物理区域PE (physical extent)
    每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4MB。PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。4MB=4096kb=4096kb/4kb=1024个block
  • 逻辑区域LE (logical extent)
    逻辑卷也被划分为被称为LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一—对应。
    流程:
    真实的物理设备—>物理卷(pv)---->卷组(vg)---->逻辑卷(lv)—…>逻辑卷格式化---->挂载使用
    思路:
    1.物理的设备
    2.将物理设备做成物理卷
    3.创建卷组并将物理卷加入其中
    4.创建逻辑卷
    5.格式化逻辑卷
    6.挂载使用

8.2创建物理卷

#将sdb1分区创建为物理卷
[root@localhost ~]# pvcreate /dev/sdb1   
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
 #用pvs、pvscan、pvdisplay 【卷名】查看物理卷是否创建成功
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <59.00g 4.00m
  /dev/sdb1         lvm2 ---    5.00g 5.00g
[root@localhost ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<59.00 GiB / 4.00 MiB free]
  PV /dev/sdb1                      lvm2 [5.00 GiB]
  Total: 2 [<64.00 GiB] / in use: 1 [<59.00 GiB] / in no VG: 1 [5.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               eygSMu-klBh-5wxx-B5iP-N3Cz-iKdZ-BON6Ay

8.3创建卷组

vgcreate 【卷组名】 【加入的物理卷】

[root@localhost ~]# vgcreate vg1 /dev/sdb1
  Volume group "vg1" successfully created
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "vg1" using metadata type lvm2
  Found volume group "centos" using metadata type lvm2
[root@localhost ~]# vgdisplay  vg1
  --- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               <5.00 GiB
  PE Size               4.00 MiB
  Total PE              1279
  Alloc PE / Size       0 / 0
  Free  PE / Size       1279 / <5.00 GiB
  VG UUID               Jkx4xZ-ICO9-2zSa-odTz-MaBH-AH5k-9hqQXF

8.4创建逻辑卷

从卷组中划分空间创建逻辑卷
lvcreate -n 【逻辑卷名称】 -L 【逻辑卷大小】 【所属卷组名称】
lvcreate -n 【逻辑卷名称】 -l【指定pe个数】 【所属卷组名称】
lvcreate -n lv3 -l 50%free vg1 :在vg1里面创建一个大小为剩余空间的50%的逻辑卷lv3

[root@localhost ~]# lvcreate -n lv2 -L 2.5G vg1
  Logical volume "lv2" created.
[root@localhost ~]# ll /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 1215 12:10 /dev/mapper/vg1-lv1 -> ../dm-3
[root@localhost ~]# ll /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 1215 12:10 /dev/vg1/lv1 -> ../dm-3
[root@localhost ~]# lvcreate -n lv3 -l 50%free vg1
  Logical volume "lv3" created.
#查看逻辑卷信息
[root@localhost ~]# lvdisplay /dev/vg1/lv2
  --- Logical volume ---
  LV Path                /dev/vg1/lv2
  LV Name                lv2
  VG Name                vg1
  LV UUID                2Ar2ew-zHiI-UZjt-pHfc-ownY-i89a-mhoSjD
  LV Write Access        read/write
  LV Creation host, time localhost, 2021-12-15 12:10:57 +0800
  LV Status              available
  # open                 0
  LV Size                2.50 GiB
  Current LE             640
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:4

8.5创建文件系统

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
163840 inodes, 655360 blocks
32768 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=671088640
20 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

8.6挂载逻辑卷

[root@localhost ~]# mkdir /lv1
[root@localhost ~]# mount /dev/vg1/lv2 /lv1
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 833M     0  833M    0% /dev
tmpfs                    852M     0  852M    0% /dev/shm
tmpfs                    852M  9.3M  843M    2% /run
tmpfs                    852M     0  852M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G   26G   12G   69% /
/dev/mapper/centos-home   19G  9.4G  8.8G   52% /home
/dev/sda1               1014M  241M  774M   24% /boot
tmpfs                    171M     0  171M    0% /run/user/0
/dev/mapper/vg1-lv2      2.4G  7.5M  2.3G    1% /lv1

8.7逻辑卷动态扩容

需求︰将lv2目录动态扩容到3G
思路:
1.查看/lv1目录所对应的逻辑卷是哪一个/dev/mapper/vg1-1v2
2.查看当前逻辑卷所在的卷组vg1剩余空间是否足够
3.如果vg1空间不够,得先扩容卷组,再扩容逻辑卷
4.如果vg1空间足够,直接扩容逻辑卷

#查看到lv1目录对应的是lv2逻辑卷
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 833M     0  833M    0% /dev
tmpfs                    852M     0  852M    0% /dev/shm
tmpfs                    852M  9.3M  843M    2% /run
tmpfs                    852M     0  852M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G   26G   12G   69% /
/dev/mapper/centos-home   19G  9.4G  8.8G   52% /home
/dev/sda1               1014M  241M  774M   24% /boot
tmpfs                    171M     0  171M    0% /run/user/0
/dev/mapper/vg1-lv2      2.4G  7.5M  2.3G    1% /lv1
#查看到lv2逻辑卷的大小2.5G
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-ao----  18.08g
  root centos -wi-ao---- <37.04g
  swap centos -wi-ao----  <3.88g
  lv1  vg1    -wi-a-----   4.00m
  lv2  vg1    -wi-ao----   2.50g
  lv3  vg1    -wi-a-----  <1.25g
  #查看到卷组的剩余空间只有1.25G
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   3   0 wz--n- <59.00g  4.00m
  vg1      1   3   0 wz--n-  <5.00g <1.25g
 #sdb磁盘下已经没有多余的分区了,需要创建分区
[root@localhost ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc9f4fea2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
#创建分区步骤省略,再次查看sdb磁盘分区
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc9f4fea2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux
/dev/sdb2        10487808    20971519     5241856   83  Linux
#刷新磁盘
[root@localhost ~]# partprobe /dev/sdb
#将sdb2分区创建为物理卷
[root@localhost ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
#将sdb2物理卷添加到vg1卷组里面去 使用**vgextend**
[root@localhost ~]# vgextend vg1 /dev/sdb2
  Volume group "vg1" successfully extended
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <59.00g  4.00m
  /dev/sdb1  vg1    lvm2 a--   <5.00g <1.25g
  /dev/sdb2  vg1    lvm2 a--   <5.00g <5.00g
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   3   0 wz--n- <59.00g 4.00m
  vg1      2   3   0 wz--n-   9.99g 6.24g
  #用**lvextend**,将lv2逻辑卷增加到5G
[root@localhost ~]# lvextend -L 5G /dev/vg1/lv2
  Size of logical volume vg1/lv1 changed from 4.00 MiB (1 extents) to 5.00 GiB (1280 extents).
  Logical volume vg1/lv1 successfully resized.
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-ao----  18.08g
  root centos -wi-ao---- <37.04g
  swap centos -wi-ao----  <3.88g
  lv2  vg1    -wi-ao----   3g
  lv3  vg1    -wi-a-----  <1.25g
  #同步文件系统,如果磁盘系统类型采用的是ext*,则使用resize2fs; 如果磁盘系统类型采用的是xfs,则使用xfs_growfs
  [root@localhost ~]# resize2fs /dev/vg1/lv2
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv2 is mounted on /lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv2 is now 786432 blocks long.

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 833M     0  833M    0% /dev
tmpfs                    852M     0  852M    0% /dev/shm
tmpfs                    852M  9.3M  843M    2% /run
tmpfs                    852M     0  852M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G   26G   12G   69% /
/dev/mapper/centos-home   19G  9.4G  8.8G   52% /home
/dev/sda1               1014M  241M  774M   24% /boot
tmpfs                    171M     0  171M    0% /run/user/0
/dev/mapper/vg1-lv2      2.9G  7.5M  2.8G    1% /lv1 

8.8离线裁剪逻辑卷

8.8.1ext*格式的裁剪

将lv2裁剪缩小为2G

#卸载lv1目录的挂载
[root@localhost ~]# umount /lv1
[root@localhost ~]# e2fsck -f /dev/vg1/lv2
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg1/lv2: 11/196608 files (0.0% non-contiguous), 30652/786432 blocks
#将lv2文件系统设置为2G
[root@localhost ~]# resize2fs /dev/vg1/lv2 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv2 to 524288 (4k) blocks.
The filesystem on /dev/vg1/lv2 is now 524288 blocks long.
#用**lvreduce**,将lv2缩小为2G
[root@localhost ~]# lvreduce /dev/vg1/lv2 -L 2G
  WARNING: Reducing active logical volume to 2.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv2? [y/n]: y
  Size of logical volume vg1/lv2 changed from 3.00 GiB (768 extents) to 2.00 GiB (512 extents).
  Logical volume vg1/lv2 successfully resized.
#重新挂载
[root@localhost ~]# mount /dev/vg1/lv2 /lv1
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 833M     0  833M    0% /dev
tmpfs                    852M     0  852M    0% /dev/shm
tmpfs                    852M  9.3M  843M    2% /run
tmpfs                    852M     0  852M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G   26G   12G   69% /
/dev/mapper/centos-home   19G  9.4G  8.8G   52% /home
/dev/sda1               1014M  241M  774M   24% /boot
tmpfs                    171M     0  171M    0% /run/user/0
/dev/mapper/vg1-lv2      2.0G  7.5M  1.8G    1% /lv1
8.8.2xfs格式的裁剪
#新建挂载点
[root@localhost ~]# mkdir /lv2
#将lv1逻辑卷格式化为xfs
[root@localhost ~]# mkfs.xfs /dev/vg1/lv1
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, 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
#将lv2目录挂载到lv1逻辑卷上
[root@localhost ~]# mount /dev/vg1/lv1 /lv2
[root@localhost ~]# vim /lv2/123.txt
#将lv2里面的文件强制备份到/root下
[root@localhost ~]# xfsdump -f /lv2/123.txt /root
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control

 ============================= dump label dialog ==============================
please enter label for media in drive 0 (timeout in 300 sec)
 -> lv1
media label entered: "lv1"

 --------------------------------- end dialog ---------------------------------

xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 21016 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 50 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /root/123.txt OK (success)
xfsdump: Dump Status: SUCCESS
#卸载挂载
[root@localhost ~]# umount /lv2
#将lv1缩小到1G
[root@localhost ~]# lvreduce /dev/vg1/lv1 -L 1G
  WARNING: Reducing active logical volume to 1.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: Y
  Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 1.00 GiB (256 extents).
  Logical volume vg1/lv1 successfully resized.
#将lv1逻辑卷格式化为xfs
[root@localhost ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, 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@localhost ~]# mount /dev/vg1/lv1 /lv2
#将root下的123文件恢复到lv2下
[root@localhost ~]# xfsrestore -f /root/123.txt /lv2
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: localhost
xfsrestore: mount point: /lv2
xfsrestore: volume: /dev/mapper/vg1-lv1
xfsrestore: session time: Wed Dec 15 13:28:23 2021
xfsrestore: level: 0
xfsrestore: session label: "lv2"
xfsrestore: media label: "lv1"
xfsrestore: file system id: 5227a0b1-064a-4a03-be5b-bbbcc960b6ee
xfsrestore: session id: b1f51ae8-46bb-44a2-95a7-e7a4d5d4cc3f
xfsrestore: media id: 0f3d605d-8f73-4f5e-ac35-98e6a1fde1c1
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 1 directories and 0 entries processed
xfsrestore: directory post-processing
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /root/123.txt OK (success)
xfsrestore: Restore Status: SUCCESS
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 833M     0  833M    0% /dev
tmpfs                    852M     0  852M    0% /dev/shm
tmpfs                    852M  9.3M  843M    2% /run
tmpfs                    852M     0  852M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G   26G   12G   69% /
/dev/mapper/centos-home   19G  9.4G  8.8G   52% /home
/dev/sda1               1014M  241M  774M   24% /boot
tmpfs                    171M     0  171M    0% /run/user/0
/dev/mapper/vg1-lv2      2.0G  7.6M  1.8G    1% /lv1
/dev/mapper/vg1-lv1     1014M   33M  982M    4% /lv2

8.9删除LVM

建立:分区–PV–VG–LV–挂载–fstab(autofs)–写入数据
删除:备份重要数据–fstab(autofs)–卸载–LV–VG–PV–分区
1备份数据(如果有需要)
2编辑fstab文件或者autofs服务相关文件,删除相关设置
3卸载
[root@localhost ~]#umount /1v1
4删除逻辑卷
[root@localhost ~]#1vremove / dev/vg1/1v1
5删除卷组
[root@localhost ~]#vgchange -an vg1
[root@locaThost ~]#vgremove vg1
6删除物理卷
[root@localhost ~]#pvremove / dev /sdxx
7删除分区
[root@localhost ~]#fdisk /dev/sdxx

#卸载挂载
[root@localhost ~]# umount /lv1 /lv2
#删除逻辑卷
[root@localhost ~]# lvremove /dev/vg1/lv*
Do you really want to remove active logical volume vg1/lv1? [y/n]: y
  Logical volume "lv1" successfully removed
Do you really want to remove active logical volume vg1/lv2? [y/n]: y
  Logical volume "lv2" successfully removed
Do you really want to remove active logical volume vg1/lv3? [y/n]: y
  Logical volume "lv3" successfully removed
#停用卷组
[root@localhost ~]# vgchange -an vg1
  0 logical volume(s) in volume group "vg1" now active
#删除卷组
[root@localhost ~]# vgremove vg1
  Volume group "vg1" successfully removed
#删除物理卷
[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2
  Labels on physical volume "/dev/sdb1" successfully wiped.
  Labels on physical volume "/dev/sdb2" successfully wiped.
#删除分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):1
分区 1 已删除

命令(输入 m 获取帮助):d
已选择分区 2
分区 2 已删除

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
#加载磁盘
[root@localhost ~]# partprobe /dev/sdb

9、swap扩容

swap的作用: swap分区在系统的运行内存不够用的时候,把运行内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap分区中,等到那些程序要运行时,再从Swap分,区中恢复保存的数据到内存中。可以缓解物理内存不足的压力,如果物理内存不足,还没有swap空间,会宕机

9.1∶增加一个设备(硬盘,分区,逻辑卷)来扩容swap空间

#查看当前swap空间
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         339         882           9         481        1326
Swap:          3967           0        3967
#查看当前磁盘分区情况
[root@localhost ~]# lsblk /dev/sdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb      8:16   0  10G  0 disk
├─sdb2   8:18   0   2G  0 part
├─sdb3   8:19   0   6G  0 part
└─sdb1   8:17   0   2G  0 part
#将sdb1分区制作为swap分区
[root@localhost ~]# mkswap /dev/sdb1
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=645b5e0a-6c04-470e-82f0-9cecc2ad9e12
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="645b5e0a-6c04-470e-82f0-9cecc2ad9e12" TYPE="swap"
#启用sdb1的swap
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# swapon -s
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       4063228 0       -2
/dev/sdb1                               partition       2097148 0       -3
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         340         880           9         481        1324
Swap:          6015           0        6015

9.2用lvm创建swap

#创建一个有sdb2和sdb3组成的vg1卷组
[root@localhost ~]# vgcreate vg1 /dev/sdb[23]
  Physical volume "/dev/sdb2" successfully created.
  Physical volume "/dev/sdb3" successfully created.
  Volume group "vg1" successfully created
#创建一个名为lv_swap的逻辑卷
[root@localhost ~]# lvcreate -n lv_swap -L 2G vg1
  Logical volume "lv_swap" created.
#将lv_swap的逻辑卷制作成swap空间
[root@localhost ~]# mkswap /dev/vg1/lv_swap
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=71e4cd2f-4f1b-4bdf-9945-12c79b3ae090
#启用lv_swap的swap功能
[root@localhost ~]# swapon /dev/vg1/lv_swap
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         342         878           9         481        1323
Swap:          8063           0        8063
[root@localhost ~]# swapon -s
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       4063228 0       -2
/dev/sdb1                               partition       2097148 0       -3
/dev/dm-3                               partition       2097148 0       -4

9.3扩展用lvm创建的swap

#将lv_swap逻辑卷扩展到4G
[root@localhost ~]# lvextend -L 4G /dev/vg1/lv_swap
  Size of logical volume vg1/lv_swap changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
  Logical volume vg1/lv_swap successfully resized.
#停止lv_swap的swap
[root@localhost ~]# swapoff /dev/vg1/lv_swap
#重新制作lv_swap的swap
[root@localhost ~]# mkswap /dev/vg1/lv_swap
mkswap: /dev/vg1/lv_swap: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 4194300 KiB
无标签,UUID=a0006fa6-bdc3-4e98-9b1f-add342b29cbe
#启动lv_swap的swap
[root@localhost ~]# swapon /dev/vg1/lv_swap
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         343         877           9         481        1321
Swap:         10111           0       10111

9.4以创建大文件的方式创建的swap

#用/dev/zero生ch
[root@localhost ~]# dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
记录了2048+0 的读入
记录了2048+0 的写出
2147483648字节(2.1 GB)已复制,37.1198 秒,57.9 MB/秒
#将/tmp/swapfile创建为swap空间
[root@localhost ~]# mkswap /tmp/swapfile
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=1703e6e4-e3e3-4f79-abba-3b2c670ddd11
#设置/tmp/swapfile文件权限
[root@localhost ~]# chmod 600 /tmp/swapfile
#启用/tmp/swapfile的swap,-1表示优先级
[root@localhost ~]# swapon -p1 /tmp/swapfile
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         264          19           9        1419        1401
Swap:         12159           0       12159
[root@localhost ~]# swapon
NAME          TYPE      SIZE USED PRIO
/dev/dm-1     partition 3.9G   0B   -2
/dev/sdb1     partition   2G   0B   -3
/dev/dm-3     partition   4G   0B   -4
/tmp/swapfile file        2G   0B    1

9.5swap开机启用

修改/etc/fstab文件,将创建的swap添加到文件里面
vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Aug  4 06:13:51 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=4ec90814-e68b-4c1d-8c11-a1d27da52589 /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/vg1/lv_swap swap swap defaults 0 0
/dev/sdb1 swap swap defaults 0 0
/tmp/swapfile swap swap defaults 0 0

9.6停用swap

#停用sdb1swap
[root@localhost ~]# swapoff /dev/sdb1
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         263          24           9        1414        1401
Swap:         10111           0       10111
#关闭所有swap
[root@localhost ~]# swapoff -a
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         256          31           9        1414        1409
Swap:             0           0           0
#开启所有swap
[root@localhost ~]# swapon -a
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1702         265          22           9        1414        1399
Swap:         12159           0       12159

10、RAID

10.1、RAID介绍

RAID(Redundant Array of lndependent Disk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能,能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

10.2、常见的RAID级别

10.2.1、RAID0

在这里插入图片描述

RAID0特点∶

  • 至少需要两块磁盘
  • 数据条带化分布到磁盘,高的读写性能,100%高存储空间利用率
  • 数据没有冗余策略,一块磁盘故障,数据将无法恢复
    应用场景:
    对性能要求高但对数据安全性和可靠性要求不高的场景,比如音频、视频等的存储。
10.2.2、RAID1

在这里插入图片描述
RAID1特点:

  • 至少需要2块磁盘
  • 数据镜像备份写到磁盘上(工作盘和镜像盘),可靠性高,磁盘利用率为50%
  • 读性能可以,但写性能不佳
  • ·一块磁盘故障,不会影响数据的读写
    应用场景:
    对数据安全可靠要求较高的场景,比如邮件系统、交易系统等。
10.2.3、RAID5

在这里插入图片描述
RAID5特点:

  • 至少需要3块磁盘
  • 数据条带化存储在磁盘,读写性能好,磁盘利用率为(n-1)/n-
  • 以奇偶校验(分散)做数据冗余
  • 一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)
  • 是目前综合性能最佳的数据保护解决方案
  • 兼顾了存储性能、数据安全和存储成本等各方面因素(性价比高)
  • 适用于大部分的应用场景
10.2.4、RAID6

在这里插入图片描述
RAID6特点:

  • 至少需要4块磁盘
  • 数据条带化存储在磁盘,读取性能好,容错能力强
  • 采用双重校验方式保证数据的安全性
  • 如果2块磁盘同时故障,可以通过两个校验数据来重建两个磁盘的数据
  • 成本要比其他等级高,并且更复杂
  • 一般用于对数据安全性要求非常高的场合
10.2.5、RAID10

在这里插入图片描述
RAID10特点:

  • RAID10是raid1+raid0的组合
  • 至少需要4块磁盘
  • 两块硬盘为一组先做raid1,再将做好raid1的两组做raido
  • 兼顾数据的冗余(raid1镜像)和读写性能(raid0数据条带化)
  • 磁盘利用率为50%,成本较高
10.2.6、总结

在这里插入图片描述

10.3、软硬RAID

10.3.1、软RAID

软RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。
软RAID有以下特点:

  • 节省成本,系统支持就可以使用相应功能
  • 占用内存空间
  • 占用CPU资源
  • 如果程序或者操作系统故障就无法运行
10.3.2、硬RAID

通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。RAID卡就是用来实现RAID功能的板卡。硬RAID的特点︰

  • 硬RAID有独立的运算单元,性能好
  • 可能需要单独购买额外的硬件
  • 不同RAID卡支持的功能不同,需要根据自己的需求选择

10.4、软RAID创建

1、环境准备
添加一个10G的虚拟硬盘,分成10

#确定系统中是否安装了mdadm
[root@localhost ~]# which mdadm
/usr/sbin/mdadm
#创建一个名为md0的raid0 -l表示级别 -n表示有几个
[root@localhost ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdc2[1] sdc1[0]
      2093056 blocks super 1.2 512k chunks

unused devices: <none>
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XL's妃妃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值