了解Linux磁盘及分区的过程

简介: 了解Linux磁盘及分区的过程

image.png

1.虚拟机添加磁盘

关机添加,自动识别 或 开机添加,命令识别: 扫描磁盘

 echo "- - -" >> /sys/class/scsi_host/host0/scan
   echo "- - -" >> /sys/class/scsi_host/host1/scan
   echo "- - -" >> /sys/class/scsi_host/host2/scan 
   fdisk -l

注: 必须分区 格式化  

2.文件系统

操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构; 即在存储设备上组织文件的方法。

linux常见的文件系统:


EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。


(1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB


(2)理论上支持无限数量的子目录


(3)Ext4文件系统使用64位空间记录块数量和i-节点数量(相当于地址)


(4)Ext4的多块分配器支持一次调用分配多个数据块 scont 7之后xfs


xfs是一种非常优秀的日志文件系统,SGI公司设计的,被称为业界最先进的、最具可升级性的文件系统技术


(1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容


(2)采用优化算法,日志记录对整体文件操作影响非常小


(3)是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间


(4)能以接近裸设备I/O的性能存储数据


1、NFS:Network FileSystem,网络文件系统

   透过网络,让不同的主机、不同的操作系统可以共享存储的服务。

   NFS 在文件传送或信息传送过程中依赖于 RPC(Remote Procedure Call)协议,即远程过程调用,

   NFS是一个文件存储系统,而 RPC 负责信息的传输


3.磁盘分区方式

MBR:主引导记录,支持4主或3主1扩展多逻辑,每分区最大2TB,兼容性好。


GPT:是GUID分区表(GUID Partition Table)的缩写; 含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。 自纠错能力强,一块磁盘上主分区数量不受(4个的)限制,支持大于18EB的总容量, 几乎没有上限,最大支持到128个分区,分区大小支持到256TB。


分区命令:


fdisk /dev/sdb

gdisk /dev/sdc

分区号码有区别:fdisk 82 gdisk 8200


p: 显示当前硬件的分区,包括没有保存的改动


n: 创建一个新的分区


d:删除一个分区


w: 保存并退出


q: 不保存退出


t: 修改分区类型(文件系统类型)


l: 显示所支持的所有类型


4.分区格式化

  mkfs.ext4 /dev/sdb1
  mkfs.xfs  /dev/sdc1

5.挂载,永久挂载 挂载会覆盖本来的文件内容

1.  mount
2.  vim /etc/fstab

系统磁盘高级管理

1.LVM:逻辑卷,动态调整分区大小,扩展性好

1)创建PV pvcreate :将实体 partition 创建成为 PV ;

pvscan :搜寻目前系统里面任何具有 PV 的磁盘;

pvdisplay :显示出目前系统上面的 PV 状态;

pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性

2)创建VG vgcreate :创建 VG 的 (-s :后面接 PE 的大小,默认4M)

vgscan :搜寻系统上面是否有 VG 存在?

vgdisplay :显示目前系统上面的 VG 状态;


vgextend :在 VG 内增加额外的 PV ;


vgreduce :在 VG 内移除 PV;


vgchange :设置 VG 是否启动 (active);


vgremove :删除一个 VG


3)创建LV lvcreate :创建 LV lvscan :查询系统上面的 LV ;


lvdisplay :显示系统上面的 LV 状态


lvextend :在 LV 里面增加容量!


xfs_growfs 同步磁盘(先内存扩展在磁盘扩展)


lvreduce :在 LV 里面减少容量;


lvremove :删除一个 LV lvresize :对 LV 进行容量大小的调整


例:创建卷组mailbox,逻辑卷mail


fdisk /dev/sdb
    fdisk /dev/sdc
    fdisk /dev/sdd
    fdisk -l
    pvcreate /dev/sdb1 /dev/sdc1
    vgcreate -s 16m mailbox /dev/sdb1 /dev/sdc1
    vgscan
    vgdisplay mailbox 
    lvcreate -n mail1 -L 10G mailbox
    lvdisplay /dev/mailbox/mail1 
    mkdir /mail1
    mkfs.xfs /dev/mailbox/mail1 
    mount /dev/mailbox/mail1 /mail1/
    lvcreate -n mail2 -l 1000 mailbox
    lvdisplay /dev/mailbox/mail2
    mkdir /mail2
    mkfs.xfs /dev/mailbox/mail2
    mount /dev/mailbox/mail2 /mail2
    echo "/dev/mailbox/mail1  /mail1  xfs  defaults 0 0" >> /etc/fstab 
    echo "/dev/mailbox/mail2  /mail2  xfs  defaults 0 0" >> /etc/fstab 
    cat /etc/fstab 
    vgdisplay mailbox 
    lvextend -L 15G /dev/mailbox/mail1
    xfs_growfs /dev/mailbox/mail1
    lvextend -L 30G /dev/mailbox/mail1
    xfs_growfs /dev/mailbox/mail1
    vgextend mailbox /dev/sdd1
    vgdisplay mailbox
    lvextend -L 30G /dev/mailbox/mail1
    xfs_growfs /dev/mailbox/mail1
    df -hT
    lvextend -L +4G /dev/mailbox/mail2
    xfs_growfs /dev/mailbox/mail2

a083a2d42b96bb505fefd7a693caf441.png

如果是ext4文件系统的 使用resize2fs命令

磁盘配额

umount /data
mount -o usrquota(用户配额)
grpquota(组配额)
 /dev/vg0/lv1 /data
xfs_quota -x -c 'limit -u bsoft=20M bhard=40M isoft=6 ihard=8 test' /data
vim

修改配置文件自行挂载开启配额

echo "/dev/vg0/lv1     /backup      xfs      defaults,usrquota,grpquota 0 0" >> /etc/fstab

-x:表示启动专家模式,再当前模式下以允许对配额系统进行修改的所有管理命令可用


-c:表示直接调用管理命令


-u:指定用户账号对象


-g:指定组账号对象


bsoft:设置磁盘容量的软件限制数值


bhard:设置磁盘容量的硬限制数值(最大的容量)b(磁盘 )


isoft:设置磁盘文件数的软限制数值


ihard:设置磁盘文件数的硬限制数值 i节点(地址))(创建一个文件或目录都会使用一个节点(地址))(创建一个文件或目录都会使用一个节点分配地址)


例:添加第二块磁盘,挂载到/jimi

xfsdump -f /opt/dump_sdb1 /dev/sdb1   #备份磁盘分区
xfsrestore -f /opt/dump_sdb1 /jimi    #还原
xfsdump -I        #查看所有备份记录

注意:脚本免交互命令

1. xfsdump -f /opt/dump_sdb2 /dev/sdb1 -L sdb1_opt_v1 -M sdb1 
2. jiaohu

2.VDO:   Virtual Data Optimizer 通过数据去重、压缩的方式来优化存储空间


vdo 命令语法压缩卷 create 创建一个VDO卷及其关联索引使其可用。


remove 删除一个或多个已停止的VDO卷和相关卷索引。


modify 修改一个或所有VDO的配置参数卷。更改将在VDO下次运行时生效设备启动;已经运行的设备则不是受到影响。


list 显示已启动VDO卷的列表。如果,所有指定它同时显示已启动和未启动卷。


start 启动一个或多个已停止、激活的VDO卷相关的服务。


status 以YAML格式报告VDO系统和卷状态。但是,这个命令不需要root特权如果没有,信息将是不完整的。


stop 停止一个或多个正在运行的VDO卷和相关卷服务。


activate 激活一个或多个VDO卷。激活卷可以使用“开始”命令启动。


deactivate 使一个或多个VDO卷失效。停用不能通过“start”命令启动卷。停用当前正在运行的卷不会停止它。


growLogical 增加VDO卷的逻辑大小。卷必须存在并且必须正在运行。


growPhysical 增加VDO卷的物理大小。卷必须存在并且必须正在运行。


实例:


(3)创建一个8G大小的vdo卷

vdo create --name=vdoname --device=/dev/sde1 --vdoLogicalSize=8G

(4) 查看vdo卷

1. vdo list
2.  lsblk /dev/sde

(5) 格式化vdo卷

mkfs.xfs /dev/mapper/vdoname

(6) 查看vdo卷属性

  vdostats --si
  blkid /dev/mapper/vdoname

(7) 自动挂载

mkdir /vdodir
  echo "/dev/mapper/vdoname    /vdodir      xfs     x-systemd.requires=vdo.service  0 0" >> /etc/fstab

(8) 删除vdo卷

umount /vdodir vdo remove --name=vdoname

stratis(centos8)

便捷的使用精简置备(Thin Provisioning)、快照(Snapshots)、基于池(Pool-based)的管理和监控等高级存储功能; 基于xfs文件系统格式,创建filesystem后不需要格式化

(1) 安装stratis

yum install -y stratisd stratis-cli
  systemctl enable stratisd

(2) 创建pool池,大于1G

1. stratis pool create pool-one /dev/sda1
2.  stratis pool list

(3) 向已经存在的pool池中添加块设备

stratis pool add-data pool-one /dev/sda2

(4) 同时将两块块设备添加到同一个pool池中

stratis pool create pool-two /dev/sda3 /dev/sda4

(5) 查看pool-one池和pool-two池中所使用的块设备

  stratis blockdev list pool-one
  stratis blockdev list pool-two

(6) 在pool-one池中创建filesystem(一次只能创建一个filesystem)

1.  stratis filesystem create pool-one file-one
2.  stratis filesystem list

(7) 挂载filesystem

1.  mkdir /fsdir
2.  mount /stratis/pool-one/file-one /fsdir/


(8) 永久挂载

  blkid /stratis/pool-one/file-one
  echo "UUID=deeb42ce-5715-42ca-b33a-fcbfece6dd0a     /fsdir   xfs   defaults    0 0" >> /etc/fstab

4.raid:

磁盘阵列(Redundant Arrays of Independent Disks)由独立磁盘构成的具有冗(容)余能力的阵列。

Raid 0(条带): 读写速度得到提升,但不具备数据冗余?,不推荐,最少2块硬盘

Raid 1(镜像): 写性能下降,读性能提升,相反冗余能力提升。但磁盘利用率是1/2,最少2块硬盘

Raid 1+0: 同组不能都坏掉,目前主流的方案。最少4块

Raid 0+1: 同组都可以坏,不能是不同组的相同标号。最少4块硬盘

Raid 0+1 和Raid1+0的空间利用率都是1/2

Raid 5(校验码机制):读写都提升,冗余有,空间利用率(n-1)/n 只能坏一块。最少3块硬盘

Raid 5+0:具有RAID 5和RAID 0的共同特性。它由两组以上RAID 5磁盘组成(每组最少3个)。

Raid 6 可以看做是raid5的升级版,它支持同时损坏2块磁盘。最少是4块盘

Raid 7 可以看做是raid5的升级版,它支持同时损坏3块磁盘。最少是5块盘

-C, --create:创建一个新的阵列

-a, --auto{=no,yes,md,mdp,part,p}{NN}:(自动)

-l, --level=:设定 raid level.

-n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改

-v, --verbose:显示细节

-D, --detail:打印一个或多个 md device 的详细信息

-x ,spare-devices= :指定初始阵列的富余device数目。热备盘

-S 关闭mdadm -S /dev/md0(关闭前先取消挂载)

(1) 分区

1.  gdisk /dev/sdb
2.  FD00

(2) 创建raid0,查看raid设备,挂载

mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
  cat /proc/mdstat
  mdadm -D /dev/md0
  mkfs.xfs /dev/md0
  mkdir /raid0
  mount /dev/md0 /raid0
  echo "/dev/md0     /raid0   xfs   defaults    0 0" >> /etc/fstab

(3) 创建raid1

  mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{3,4}
  mdadm -D /dev/md1
  mkfs.xfs /dev/md1
  mkdir /raid1
  mount /dev/md1 /raid1
  echo "/dev/md1     /raid1   xfs   defaults    0 0" >> /etc/fstab
  mdadm /dev/md1 -f /dev/sdb4   #模拟损坏
  mdadm /dev/md1 -r /dev/sdb4   #物理拔除
  mdadm /dev/md1 -a /dev/sdb5   #添加新盘
umount /dev/md1         #卸载
mdadm -S /dev/md1       #关闭md1
mdadm -A /dev/md1       #重启md1,报错(损坏盘)
mdadm -AR /dev/md1 /dev/sdb{3,4}  #从新声明md1磁盘成员
mdadm /dev/md1 -a /dev/sdb4   #添加损坏盘
mdadm /dev/md1 -a /dev/sdb5   #添加冗余盘
mdadm -D --scan > /etc/mdadm.conf #扫描并添加raid信息到自启文件
mdadm -S /dev/md1       #重启测试
mdadm -A /dev/md1

(4) 创建raid5

mdadm -Cv /dev/md5 -a yes -n 3 -l 5 -x 2  /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg

(5) 创建raid10

  mdadm -Cv /dev/md10 -a yes -n 4 -l 10 -x 1  /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf 


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
4月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
766 4
|
5月前
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
4月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
3月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
49 1
|
3月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
76 0
|
3月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
55 0
|
5月前
|
存储 监控 Linux
|
5月前
|
监控 Linux
在Linux中,如何监控磁盘I/O性能?
在Linux中,如何监控磁盘I/O性能?
|
5月前
|
Prometheus 监控 Ubuntu
在Linux中,如何进行磁盘性能监控?
在Linux中,如何进行磁盘性能监控?
|
5月前
|
存储 监控 Linux
在Linux中,如何管理磁盘配额?
在Linux中,如何管理磁盘配额?