前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >存储结构与管理硬盘

存储结构与管理硬盘

原创
作者头像
用户8006012
发布2022-11-06 21:46:15
6570
发布2022-11-06 21:46:15
举报
文章被收录于专栏:DATABASE
代码语言:javascript
复制


存储结构与管理硬盘


一、添加硬盘设备
添加硬盘设备的操作思路:首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加。
fdisk命令用于新建、修改及删除磁盘的分区表信息

分区 
[root@rhel ~]# fdisk /dev/sdb  
依次输入  p    n   p   1   +1024G   回车  p   w  
Linux系统会自动把这个硬盘主分区抽象成/dev/sdb1设备文件
[root@rhel ~]# parentprobe
[root@rhel ~]# parentprobe
[root@rhel ~]# file /dev/sdb1

格式化 
[root@rhel ~]# mkfs.xfs /dev/sdb1

挂载使用
创建挂载点目录  /backup
[root@rhel ~]# mkdir /backup
[root@rhel ~]# mount /dev/sdb1 /backup
[root@rhel ~]# df -h
查看你目录占用空间大小
[root@rhel ~]# du -sh /*  |------------*/


二、挂载硬件设备
一般的硬盘设备都是以“/dev/sd”
UUID是一串用于标识每块独立硬盘的字符串,具有唯一性及稳定性,特别适合用来挂载网络设备

挂载硬件设备步骤
1. [root@rhel ~]# mount -a   挂载所有在/etc/fstab中定义的文件系统
2  [root@rhel ~]# blkid      使用blkid命令来查询设备UUID
   [root@rhel ~]# mount UUID=f54f59eb-e5f5-4a3c-9693-7533c57d1a8a /backup
3. 开机自动挂载 /dev/sdb
[root@rhel ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul 21 05:03:40 2022
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root                     /        xfs     defaults    0 0
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot    xfs     defaults    0 0
/dev/mapper/rhel-swap                     swap     swap    defaults    0 0
/dev/sdb                                 /backup   xfs     defaults    0 0

[root@rhel ~]# mount -a
[root@rhel ~]# df -h


umount命令用于卸载设备或文件系统
[root@rhel ~]# unmount /dev/sdb


lsblk命令用于查看已挂载的磁盘的空间使用情况
[root@rhel ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sr0            11:0    1  4.2G  0 rom




RAID 磁盘阵列

mdadm命令中的常用参数及作用如表7-2所示。

表7-2                                            mdadm命令的常用参数和作用

参数	作用
-a	检测设备名称
-n	指定设备数量
-l	指定RAID级别
-C	创建
-v	显示过程
-f	模拟设备损坏
-r	移除设备
-Q	查看摘要信息
-D	查看详细信息
-S	停止RAID磁盘阵列


mdadm命令用于创建、调整、监控和管理RAID设备,英文全称为“multiple devices admin”,语法格式为“mdadm参数 硬盘名称”。
其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就搞定了

查看添加的硬盘  
[root@rhel ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   20G  0 disk
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   20G  0 disk
sdc             8:32   0   20G  0 disk
sdd             8:48   0   20G  0 disk
sde             8:64   0   20G  0 disk
sr0            11:0    1  4.2G  0 rom


[root@rhel ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Oct 25 15:23 /dev/sda
brw-rw----. 1 root disk 8,  1 Oct 25 15:23 /dev/sda1
brw-rw----. 1 root disk 8,  2 Oct 25 15:23 /dev/sda2
brw-rw----. 1 root disk 8, 16 Oct 25 15:23 /dev/sdb
brw-rw----. 1 root disk 8, 32 Oct 25 15:23 /dev/sdc
brw-rw----. 1 root disk 8, 48 Oct 25 15:23 /dev/sdd
brw-rw----. 1 root disk 8, 64 Oct 25 15:23 /dev/sde


创建 RAID10
[root@rhel ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查看 
[root@rhel ~]# mdadm -Q /dev/md0
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.

RAID磁盘阵列格式化为xfs格式:

[root@rhel ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


挂载 
[root@rhel ~]# mkdir /RAID10
[root@rhel ~]# mount /dev/md0 /RAID10

[root@rhel ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               974M     0  974M   0% /dev
tmpfs                  991M     0  991M   0% /dev/shm
tmpfs                  991M   11M  980M   2% /run
tmpfs                  991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   17G  4.2G   13G  25% /
/dev/sda1             1014M  170M  845M  17% /boot
tmpfs                  199M   12K  199M   1% /run/user/42
tmpfs                  199M     0  199M   0% /run/user/0
/dev/md0                40G   33M   40G   1% /RAID10

查看/dev/md0磁盘阵列设备的详细信息,确认RAID级别(Raid Level)、阵列大小(Array Size)和总硬盘数(Total Devices)都是否正确
[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 15:47:34 2022
             State : clean
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 19

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

添加RAID磁盘阵列自启挂载

[root@rhel ~]# echo "/dev/md0 /RAID xfs defaults 0 0" >> /etc/fstab

[root@rhel ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Oct 23 09:20:06 2022
#
# 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/rhel-root   /                       xfs     defaults        0 0
UUID=f54f59eb-e5f5-4a3c-9693-7533c57d1a8a /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/md0 /RAID xfs defaults 0 0


损坏磁盘阵列及修复

确认有一块物理硬盘设备出现损坏而不能再继续正常使用后,应该使用mdadm命令将其移除,然后查看RAID磁盘阵列的状
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@linuxprobe ~]# mdadm -D /dev/md0

[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 16:03:31 2022
             State : clean, degraded
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 21

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

       0       8       16        -      faulty   /dev/sdb

-f参数是让硬盘模拟损坏的效果。为了能够彻底地将故障盘移除,还要再执行一步操作
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0

新硬盘就绪后 重新添加 
[root@rhel ~]# mdadm /dev/md0 -a /dev/sdb

[root@rhel ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct 25 15:39:34 2022
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Oct 25 16:09:18 2022
             State : clean, degraded, recovering
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : near=2
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 30% complete

              Name : rhel:0  (local to host rhel)
              UUID : c7dddb65:4ceab00d:38b741da:4b84f7ef
            Events : 32

    Number   Major   Minor   RaidDevice State
       4       8       16        0      spare rebuilding   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde
	   
	   
创建RAID5 + 备份盘
部署RAID 5磁盘阵列时,至少需要用到3块硬盘,还需要再加一块备份硬盘(也叫热备盘),所以总计需要在虚拟机中模拟4块硬盘设备
创建一个RAID 5磁盘阵列+备份盘。在下面的命令中,参数-n 3代表创建这个RAID 5磁盘阵列所需的硬盘数,参数-l 5代表RAID的级别,而参数-x 1则代表有一块备份盘。当查看/dev/md0(即RAID 5磁盘阵列的名称)磁盘阵列的时候,就能看到有一块备份盘在等待中了。
[root@rhel ~]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
[root@rhel ~]# mdadm -D /dev/md0

格式化xfs
[root@rhel ~]# mkfs.xfs /dev/md0
创建挂载点目录
[root@rhel ~]# mkdir /RAID5
开机自动挂载
[root@rhel ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
[root@rhel ~]# mount -a
[root@rhel ~]# df -h

移除设备 /dev/sdb
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
备份盘自动同步
[root@rhel ~]# mdadm -D /dev/md0



删除磁盘阵列 RAID5 +备份盘 
需要将所有的磁盘都设置成停用状态:
[root@rhel ~]# umount /RAID
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -f /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -f /dev/sde
[root@rhel ~]#

逐一移除
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdb
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdc
[root@rhel ~]# mdadm /dev/md0 -r /dev/sdd
[root@rhel ~]# mdadm /dev/md0 -r /dev/sde
查看磁盘组状态
mdadm -D /dev/md0
停用整个磁盘阵列
mdadm --stop /dev/md0
ls /dev/md0

注意: 或使用此命令 移除  mdadm --remove /dev/md0


LVM 逻辑卷管理器

部署逻辑卷

部署时,需要逐个配置物理卷、卷组和逻辑卷,常用的部署命令如表7-3所示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档