linux磁盘管理

磁盘

一、磁盘分区

计算机容量单位:

一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,

硬盘空间使用,经历的步骤

  • 识别硬盘 => 分区规划 => 格式化 => 挂载使用

分区模式分2种:

  • MBR
    • 分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区
    • 最多只能有4个主分区
    • 扩展分区可以没有,至多有一个
    • 1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
    • 最大支持容量为 2.2TB 的磁盘
    • 扩展分区不能格式化,空间不能直接存储数据
    • 可以用于存储数据的分区:主分区与逻辑分区
  • GPT
    • 突破固定大小64字节的分区表限制
    • 最多可支持128个主分区,最大支持18EB容量

1、MBR

1.1 分区fdisk

常用交互指令:

m 列出指令帮助
p 查看现有的分区表(存放分区信息的表格)
n 新建分区
d 删除分区
q 放弃更改并退出
w 保存更改并退出
[root@localhost ~]# fdisk    /dev/sdb  
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +1G
p 查看分区表                
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +2G
w 保存并退出                            
[root@localhost ~]# lsblk
[root@localhost ~]# ls  /dev/sdb[1-2]

1.2 格式化

文件系统:数据在空间中存放的规则

Windows常见的文件系统:NTFS FAT(兼容性强)
Linux常见的文件系统:ext4(RHEL6) xfs(RHEL7) FAT

mkfs.ext4   /dev/sdb1  #格式化文件系统ext4
mkfs.xfs   /dev/sdb2     #格式化文件系统xfs
blkid    /dev/sdb1    #查看文件系统类型
blkid   /dev/sdb2     #查看文件系统类型

1.3 挂载使用

]# mkdir   /mypart1
]# mount   /dev/sdb1    /mypart1
]# df   -h    #显示正在挂载的设备信息
[root@localhost ~]# vim    /etc/fstab    #vmware虚拟机
/dev/sdb1   /mypart1   ext4    defaults   0   0
/dev/sdb2   /mypart2    xfs    defaults   0   0
[root@localhost ~]# umount   /mypart1       #卸载
[root@localhost ~]# umount   /mypart2       #卸载
[root@localhost ~]# df   -h    |   grep  mypart
[root@localhost ~]# mount   -a 
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载 
# 当fstab有误时,重启机器会进入救援模式,输入root密码,修改fstab再次重启修复

2、GPT

2.1 分区parted

常用分区指令

–help            #查看指令帮助
–mktable  gpt    #建立指定模式分区表,也可以用于MBR分区
–mkpart     	 #分区的名称  文件系统类型  start  end
          		 #指定大小或百分比%作为起始、结束位置
–print   		 #查看分区表
–rm  序号    		#删除指定的分区
–quit   		 #退出交互环境
[root@localhost ~]# parted      /dev/sdc    
(parted) mktable   gpt     #指定分区模式
(parted) mkpart                #划分新的分区 
分区名称? []? haha             #随意写
文件系统类型? [ext2]? ext4    #随意写,不会进行格式化
起始点? 0 
结束点? 5G 
忽略/Ignore/放弃/Cancel? Ignore  #选择忽略,输入i(tab)补全
(parted) print                 #查看分区表信息
(parted) quit 
[root@localhost ~]# lsblk 

2.2 格式化

同上

2.3 挂载使用

同上

二、交换分区

利用硬盘的空间,充当内存的空间
CPU----->内存----->硬盘
当物理内存占满了,CPU可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力
交换空间最好为内存的2倍,交换空间最大不会超过16G

1、利用硬盘制作交换空间

利用分区好的磁盘

1.1 制作

mkswap   /dev/sdc1       #格式化交换文件系统
blkid   /dev/sdc1        #查看文件系统类型
swapon                   #查看交换空间组成的成员信息
swapon   /dev/sdc1       #启用交换分区
swapoff  /dev/sdc1       #停用交换分区
swapon                   #查看交换空间组成的成员信息
free -m                  #查看交换空间的大小

1.2 挂载使用

[root@localhost ~]# vim    /etc/fstab 
/dev/sdc1   swap   swap    defaults  0   0
[root@localhost ~]# swapoff     /dev/sdc1     #停用
[root@localhost ~]# swapon    #查看交换空间组成的成员信息
[root@localhost ~]# swapon -a     #专门检测交换分区的书写
[root@localhost ~]# swapon    #查看交换空间组成的成员信息

2、使用文件方式制作交换空间

1.生成较大的文件
dd  if=数据的源头  of=生成的文件  bs=每次读写数据的大小  count=次数

/dev/zero:拥有无限的数据
]# dd  if=/dev/zero of=/opt/sw.txt  bs=1M   count=2048
]# ls -lh /opt/sw.txt
]# mkswap /opt/sw.txt
]# swapon /opt/sw.txt
swapon: /opt/sw.txt:不安全的权限 0644,建议使用 0600。
]# swapon

三、逻辑卷

作用:1.整合分散的空间 2.空间支持扩大

逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)

LVM管理常用工具集

功能物理卷管理卷组管理逻辑卷管理
Scan 扫描pvsvgslvs
Create 创建pvcreatevgcreatelvcreate
Display 显示pvdisplayvgdisplaylvdisplay
Remove 删除pvremovevgremovelvremove
Extend 扩展/vgextendlvextend

卷组划分空间的单位 PE

默认1个PE的大小为4M

]# vgdisplay systemvg
PE Size        4.00 MiB

1、制作PV (可省略)

pvcreate  /dev/vd{b,c}    
pvremove   /dev/vd{b,c} 

2、制作VG

格式:vgcreate 卷组名 设备路径…….
Successfully:成功

[root@localhost ~]# vgcreate   systemvg   /dev/sdc[1-2]
[root@localhost ~]# vgcreate  -s 16M systemvg   /dev/sdc[1-2]  #制定PE为16M
[root@localhost ~]# pvs    #查看系统所有物理卷信息
[root@localhost ~]# vgs    #查看系统卷组信息
[root@localhost ~]# vgremove   systemvg      #删除VG

3、制作LV

格式: lvcreate -L 大小G -n 逻辑卷名字 卷组名

[root@localhost ~]# lvcreate   -L  16G   -n    vo    systemvg  #指定大小为16G
[root@localhost ~]# lvcreate   -l  50   -n    vo    systemvg   #指定大小为50个PE
[root@localhost ~]# vgs    #查看卷组信息
[root@localhost ~]# lvs     #查看逻辑卷信息

4、使用LV

mkfs.xfs    /dev/systemvg/vo    #格式化xfs文件系统
blkid   /dev/systemvg/vo   		#查看文件系统类型
vim  /etc/fstab
/dev/systemvg/vo   /mylv    xfs   defaults  0   0
mkdir    /mylv
mount   -a       				#检测fstab文件内容书写是否正确
df    -h      /mylv             #查看查看正在挂载使用的设备

5、扩展VG

vgextend   systemvg    /dev/sdc3   /dev/sdc5   # 卷组名  设备1  设备2 设备3。。。

6、扩展LV

要在VG空间足够的情况下才能扩展LV

lvextend    -L   25G    /dev/systemvg/vo
lvs
df   -h  /mylv
xfs_growfs  /dev/systemvg/vo  #刷新文件系统
df   -h   /mylv

7、缩减

xfs文件系统:不支持缩减

ext4文件系统:支持缩减

8、删除

删除卷组的前提:基于此卷组创建的所有逻辑卷,要全部删除

删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷

按顺序删除

先umount–>删除LV—>删除VG—>删除PV

四、RAID

  • 廉价冗余磁盘阵列 Redundant Arrays of Inexpensive Disks
  • 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
  • 阵列的价值:提升I/O效率、硬件级别的数据冗余
  • 不同RAID级别的功能、特性各不相同

1、RAID 0

  • 条带模式
    • 同一个文档分散存放在不同磁盘
    • 并行写入以提高效率
    • 至少需要两块磁盘组成,磁盘利用率100%

2、RAID 1

  • 镜像模式
    • 一个文档复制成多份,分别写入不同磁盘
    • 多份拷贝提高可靠性,效率无提升
    • 至少需要两块磁盘组成,磁盘利用率50%

3、RAID 5

  • 高性价比模式
    • 相当于RAID0和RAID1的折中方案
    • 需要至少一块磁盘的容量来存放校验数据
    • 至少需要三块磁盘组成,磁盘利用率n-1/n

4、RAID 6

  • 高性价比/可靠模式
    • 相当于扩展的RAID5阵列,提供2份独立校验方案
    • 需要至少两块磁盘的容量来存放校验数据
    • 至少需要四块磁盘组成,磁盘利用率n-2/n

5、RAID 1+0 | RAID 0+1

  • 整合RAID 0、RAID 1的优势
  • 并行存取提高效率、镜像写入提高可靠性
  • 至少需要四块磁盘组成,磁盘利用率50%

6、制作使用RAID

6.1 制作mdadm

创建RAID可以使用mdadm命令

[root@node1 ~]# yum provides mdadm
[root@node1 ~]# yum -y install  mdadm-4.0-13.el7.x86_64

格式: mdadm [模式] 选项 《设备》

选项:

-C 创建
-l 制定RAID级别
-n 制定磁盘个数
-x 制定备用设备个数
-G 修改阵列大小
-a 添加磁盘
-f 失败磁盘
-r 移出磁盘
mdadm -C /dev/md0 -l 0 -n 3 /dev/vdb1 /dev/vdb2     #RAID 0
mdadm -C /dev/md1 -l 1 -n 3 /dev/vdd1 /dev/vdd2 	# RAID 1
mdadm -C /dev/md5 -l5 -n3 /dev/vdb1 /dev/vdb2 /dev/vdc1 #raid5
mdadm -C /dev/md6      -l6          -n4     /dev/vdb1 /dev/vdb2 /dev/vdc1 /dev/vdc2   #raid6
# 	        创建      名字     类型  设备数   设备
mdadm --detail  /dev/md0  #查看RAID0信息
mdadm --detail  /dev/md1  #查看RAID1信息
mdadm --detail  /dev/md5  #查看RAID1信息
mdadm --detail  /dev/md6  #查看RAID1信息
mdadm --detail  /dev/md1  #查看RAID1信息

6.2 格式化挂载使用

临时挂载

mkdir /raid0   /raid1 
mkfs.xfs /dev/md0
mkfs.xfs /dev/md1
mount /dev/md0 /raid0
mount /dev/md1 /raid1
df -h     #会发现raid1的容量只有一半。这是因为raid1的原理导致的。

开机自动挂载

vim /etc/mdadm.conf
DEVICE /dev/vdb1 /dev/vdb2 /dev/vdc1 /dev/vdc2
echo -Evs >> /dev/mdadm.conf
vim /etc/fstab
/dev/md5 /raid5  xfs  defaults  0   0

6.3 速度测试

感觉不准,测了几次,每次都不一样。

[root@node4 ~]# time dd if=/dev/zero  of=txt bs=1M count=1000   #正常磁盘
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,4.33342 秒,242 MB/秒

real	0m4.351s
user	0m0.010s
sys	0m1.841s
[root@node4 ~]# cd /raid0
[root@node4 raid0]# time dd if=/dev/zero  of=txt bs=1M count=1000	#raid0
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,2.38002 秒,441 MB/秒

real	0m2.383s
user	0m0.000s
sys	0m0.498s
[root@node4 raid0]# cd /raid1
[root@node4 raid1]# time dd if=/dev/zero  of=txt bs=1M count=1000   #raid1
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,21.3319 秒,49.2 MB/秒

real	0m21.336s
user	0m0.005s
sys	0m0.443s
[root@node4 raid5]# time dd if=/dev/zero of=txt bs=1M count=1000   #raid5
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,2.04004 秒,514 MB/秒

real	0m2.043s
user	0m0.005s
sys	0m0.414s
[root@node4 raid6]# time dd if=/dev/zero of=txt bs=1M count=1000    #raid6
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,2.34012 秒,448 MB/秒

real	0m2.350s
user	0m0.002s
sys	0m0.426s

6.4 删除

[root@node4 ~]# umount /raid1					#取消挂载
[root@node4 ~]# umount /raid0
[root@node4 ~]# mdadm -S /dev/md0				#停止raid
mdadm: stopped /dev/md0
[root@node4 ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1
[root@node4 ~]# mdadm --zero-superblock /dev/vdb1	#干掉超级块
[root@node4 ~]# mdadm --zero-superblock /dev/vdb2
[root@node4 ~]# mdadm --zero-superblock /dev/vdd1
[root@node4 ~]# mdadm --zero-superblock /dev/vdd2

6.5 故障模拟

mdadm -C /dev/md5 -l5 -n3 /dev/vdb1 /dev/vdb2 /dev/vdc1 -x1 /dev/vdc2  #备用盘
[root@node4 ~]# mkfs.xfs /dev/md5
[root@node4 ~]# mount /dev/md5 /raid5
[root@node4 ~]# time dd if=/dev/zero of=txt bs=1M count=1000
[root@node4 raid5]# mdadm /dev/md5 -f /dev/vdb1     #模拟一块磁盘故障
[root@node4 raid5]# mdadm --detail /dev/md5			#会使用备用盘重建数据
    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1     253       18        1      active sync   /dev/vdb2
       4     253       33        2      spare rebuilding   /dev/vdc1

       0     253       17        -      faulty   /dev/vdb1
       3     253       34        -      spare   /dev/vdc2

五、VDO

Virtual Data Optimizer(虚拟数据优化器)

1.功能

VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可

重删:减少磁盘的空间占用,以及减少复制带宽。相同的内容存一份。

压缩 :对每个单独的数据块进行处理

虚拟大小:动态扩容,避免浪费

前提制作VDO需要2G以上的内存

2.制作

2.1装包
~]# yum -y install vdo kmod-kvdo  #所需软件包
2.2制作
[root@svr7 ~]# vdo create --name=haha --device=/dev/vdb --vdoLogicalSize=200G    #最后的可以不要
2.3查看 删除
vdo  list    查看
–vdo  status  -n  VDO卷名称
–vdo  remove  -n  VDO卷名称    删除

3.格式化文件系统

mkfs.xfs  –K   /dev/mapper/VDO卷名称               xfs
mkfs.ext4  -E  nodiscard  /dev/mapper/VDO卷名称   ext4

4.挂载

4.1临时挂载
[root@svr7 ~]# mkdir /vdo
[root@svr7 ~]# mount /dev/mapper/haha /vdo
4.2开机自动挂载
[root@svr7 ~]# vim /etc/fstab 
/dev/mapper/haha        /vdo    xfs      defaults,_netdev       0       0
[root@svr7 ~]# mount -a 
[root@svr7 ~]# df -h
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值