- 一.磁盘简介
- 1.磁盘设备的命名
- 2.磁盘的分区方式
- 二.管理磁盘
- 1.查看磁盘
- 2.创建分区
- 3.创建文件系统——格式化
- 4.挂载(临时)
- 5.查看挂载信息
- 6.扩展分区
- 7.交换分区Swap
- 三.逻辑卷LVM
- **四.文件系统**
- 1.索引型管理
- 2.文件链接
- 3.RAID磁盘阵列
Linux08:磁盘管理相关
一.磁盘简介 1.磁盘设备的命名CentOS 7中
-
IDE(并口)
-
SATA(串口)——目前更适用
- /dev/sda
- /dev/sdb
/dev是一个专门存放设备的目录,s代表sata就是串口,d代表disk磁盘,a代表第一块,b代表第二块…
-
MBR
MBR主引导记录,记录磁盘分配信息。最大支持磁盘容量2T,设计时只能分配4个分区。(若希望超过4个分区,需要放弃主分区,改为扩展分区或者逻辑分区)
-
GPT
GUID Partition Table 全局唯一标识分区表,是一个实体硬盘的结构布局的标准,分区数扩充的更多,支持的磁盘容量也可以超过2TB
二.管理磁盘
- 磁盘分区(方式-MBR)
- 格式化——创造文件系统Filesystem
- 挂载——mount
方法一:#ll /dev/sd*
-
磁盘文件的类型为b——block,所属用户组均为disk(系统自带的磁盘组)
-
sda开头实际是同一块硬盘,后面的数字表示分区
-
一般情况第一块盘也就是此处的a,表示系统盘
方法二:#lsblk
- 主要看NAME和SIZE
- 最后一列mountpoint是指挂载点
- MBR——分房间(MBR分区方式只能划分4个分区)
#fdisk /dev/sdb(f表示MBR分区方式),之后按 *** 作键进行下一步
n:增加新的分区
p:打印此块磁盘当前分区信息表
步骤:
- 按n回车(新增分区)
- p(指定为主分区)
- 回车(分区号默认)
- 回车(起始扇区默认,从上一个结束开始)
最前面的0-2047扇区用于存放MBR(这里的单位:以512个字节为1个扇区)
-
指定分区结束点(last)——其实就是指定分区大小,三种方式
a.输入分区结束位置,例如124448
b.输入想要的分区大小,例如+2G(常用)
c.直接回车,把该磁盘剩余大小都给这个分区
- 保存分区并退出:输入w回车
- 刷新分区表
#partprobe /dev/sdb
- 查看刚刚的分区情况
- 方法一#fdisk -l /dev/sdb
- 方法二#lsblk,更直观
通俗的讲:给刚刚分好区的磁盘就是分好隔间的房间,格式化就是给房间装上衣柜,方便文件管理(没有进行分区的部分是不能直接使用的)
#mkfs.ext4 /dev/sdb1——注意:这个 *** 作会清空该磁盘分区的原有数据
-
(#mkfs -t ext4 /dev/sdb1 是一个意思,t-type)
-
(make-file-system.extend4)这个extend4是文件系统第四代,是一种文件系统类型
#mount 文件系统类型 磁盘 挂载位置
-
首先要新建一个挂载目录(相当于磁盘分区的入口)——#mkdir /mnt/disk1
-
进行挂载——#mount -t ext4 /dev/sdb1 /mnt/disk1
取消挂载——#umount 磁盘分区
note:
- 取消挂载后,该磁盘内的文件不会丢失,但是无法查看和编辑(无法找到绝对路径);重新挂载后即可继续使用——可以想象为u盘的插拔
- 挂载只能一对一,一个mnt下的一个目录只能挂载一个磁盘分区,当有新的磁盘分区挂载到同一个目录时,前一个磁盘分区自动取消挂载
永久挂载需要修改配置文件——/etc/fstab
5.查看挂载信息#df -hT(d-disk,f-free空闲空间,h-以合适的形式显示单位,T-type)
(未被挂载的磁盘分区是看不到的)
备注:这个sdb磁盘一共5G,已经处理了2G可以正常使用,还剩3G是不能直接用的,同样要经过上面一系列 *** 作才能使用。由于本虚拟机的磁盘空间给了40G,所以目前来说可用为42G。
6.扩展分区
-
MBR分区方式中只能有四个主分区,如果要进行更多的分区,需要放弃一个主分区,将它设置为扩展分区。(原来选p的地方选e)
-
扩展分区的内部支持再次划分——逻辑分区
-
扩展分区本身不能存放数据(不能挂载),可以想象为扩展分区是磁盘内的一块磁盘。若想要使用,必须进行逻辑分区,然后把逻辑分区进行格式化,再挂载,才能使用
*** 作步骤:删除原有的4号分区,新建分区为扩展分区
- 进入磁盘sdb分区管理——#fdisk /dev/sdb
- 输入p——打印当前分区信息表
- 输入d——删除分区4
- 输入n——新增分区
- 输入e——指定为扩展分区
- 然后继续新增分区输入n——就可以创建逻辑分区5逻辑分区6…
- 然后对逻辑分区格式化,挂载
注意前四个分区一般是4个主分区或者3个主分区+1个扩展分区,从5号开始为逻辑分区
7.交换分区Swap作用:提升内存的容量,防止OOM(out of memory),交换分区存放的是热点数据(无法人为干涉)
目的:提升硬盘速度,类似缓存区的意思
大小:推荐为内存的2倍
查看存储情况——#free -m(-h显示合适单位)
#lsblk也可查看,其中交换区可以看到是接近4G
划分新的交换分区:
- 进入一块新的硬盘#fdisk /dev/sdc
- 进行一次分区sdc1
- 输入l查看分区系统id表——其中82是表示交换区类型,83是linux常规数据存储格式(默认)
- 输入t修改分区系统id为82
(也可以不设置,因为后面会有交换分区特殊的格式化指令) - 输入w,保存并退出
针对交换分区的格式化指令:
#mkswap /dev/sdc1
挂载指令:
#swapon /dev/sdc1(不需要指定挂到哪里)
卸载指令:
#swapoff /dev/sdc1
#free -m 查看当前存储情况
三.逻辑卷LVM
先介绍一条写满硬盘的指令——抄写
#dd if=要抄的内容 of=抄到哪里 bs=抄多大 count=抄多少次
#dd if=/dev/zero of=/mnt/disk4/test.txt bs=1M count=1000
(zero是一个0文件,里面全是0)
可以另开一个终端查看磁盘容量的动态变化过程(每隔0.5秒显示一次):
#watch -n0.5 ‘df -hT’
由于物理磁盘的空间是有限的,不方便管理。所以印出逻辑卷。
LVM是 Logical Volume Manager逻辑卷管理
- 它是Linux环境下对磁盘分区进行管理的一种机制,用户在无需停机的情况下可以方便地调整各个分区大小。
( 普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,而LVM可以更好的解决这个问题 )
LVM把几块磁盘加入到一个卷组中,再从卷组中抽出空间生成一个或多个逻辑卷,这样的逻辑卷是可以随时使用卷组的空间的,每当卷组空间不足,只需要加入新的磁盘就可以。用户文件可以指定存储再某一块逻辑卷中,但实际存在那一块物理磁盘我们是无法掌控的,这由系统背后来管理。
步骤:
-
添加物理硬盘 /dev/sdf
-
将硬盘创建为物理卷
#pvcreate /dev/sdf
-
创建卷组vg1,并将物理卷sdf加入
#vgcreate vg1 /dev/sdf
-
在卷组中抽调空间,制作逻辑卷lv1—— /dev/vg1/lv1(其实就是分区)
#lvcreate -L 200M -n lv1 vg1
-L表示大小(M或G) -n表示卷名 vg1表示从哪个卷组中拿空间)
-
格式化逻辑卷lv1
#mkfs.ext4 /dev/vg1/lv1
-
挂载lv1到指定目录
#mkdir /mnt/lv1
#mount /dev/vg1/lv1 /mnt/lv1
PV:物理卷Physical Volume
VG:卷组Volume Group
LV:逻辑卷Logical Volume
- 写满后扩展逻辑卷(前提是卷组中有空间)
-
若卷组空间不足,先扩展卷组大小
第一步,创建新的物理卷sdg
#pvcreate /dev/sdg(通过#pvs可以查看创建情况)
第二步,将sdg物理卷添加进卷组
#vgextend vg1 /dev/sdg(通过#vgs查看)
-
扩展逻辑卷lv1大小
第一步,扩展
#lvextend -L +4G /dev/vg1/lv1
第二步,刷新逻辑卷lv1的文件系统大小,2表示to
#resize2fs /dev/vg1/lv1
四.文件系统 1.索引型管理
以块为基本单位,每块大小默认4096字节(4KB)
-
inode——索引(i是指index)
一个文件占用一个inode,一个node大小为128bytes
记录文件的元数据metadata(属性,大小,权限,主信息)
-
block——块
-
superblock——超级块
记录block和inode的总量,未使用与已经使用的block,inode情况
目前linux系统中常用的文件系统:
- ext3——最大支持文件16TB
- ext4——最大支持文件16TB
- XFS——最大支持文件100TB
查看文件的inode号 ——#ll -i 文件名
查看磁盘的inode使用情况——#df -i
一个常见问题:
因为一个文件占用一个inode,当inode用完了,即使磁盘空间很充裕,也无法再存放新文件了。
清空磁盘:#rm -rf 磁盘路径
2.文件链接先随便创建一个文件用与练习
#echo 123 > /file1
- 软链接(符号链接)——Soft links
#ln -s 源路径 新路径
文件颜色
天蓝: Symbolic link file 链接文件,主要是使用ln命令建立的文件
红字黑底: Broken link 无效链接
删除源文件,链接文件失效
删除链接文件,源文件不受影响
(软链接可以对文件和目录做)
- 硬链接——不常用
#ln 源路径 新路径
删除源文件,链接文件不受影响,对应文件的链接数会减少
(硬链接不能对目录做,硬链接只能在同一个分区中做)
3.RAID磁盘阵列Redundant Array of Independent Disks——廉价磁盘冗余阵列
保证数据安全性,提升数据读取速度
-
RAID 1 :
镜像集,两块磁盘,容量50%
特点:容错
-
RAID 5:
至少3块磁盘,磁盘大小要相同
数据盘…数据盘…校验盘…热备盘
前两块磁盘用于存放数据,第三块存放校验信息
热备盘本身不存东西,它是数据盘的备胎,自动顶替坏盘
特点:可靠
利用率:(n-1)/n
-
RAID 0:
条带集,速度快,但不容错,至少需要两块盘
-
硬RAID:需要RAID卡,有自己的cpu,处理速度快,有电池和无电池
-
软RAID:通过 *** 作系统对应命令实现
步骤:
-
准备多块硬盘
RAID 5:三块数据盘,一块热备盘(sdd,sdg,sdh,sdi),每块盘是5G大小
-
将多块硬盘组合成RAID
#mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,g,h,i}
-C:创建
/dev/md0:新的RAID的名字
-l5:表示level5——RAID5
-n3:表示三块数据盘
-x1:表示一块热备盘
最后写出四块磁盘,可以分开写
- 格式化,挂载
#mkfs.ext4 /dev/md0
#mkdir /mnt/raid5
#mount /dev/md0 /mnt/raid5- 查看RAID信息
#df -hT
-
四块盘20G,其中一块做校验盘,一块做数据盘,所以实际能用只有两块盘,大小为10G
#mdadm -D /dev/md0——查看该阵列的详细信息
-D:detail
验证磁盘阵列的热备功能:
用mdadm强制移除磁盘阵列中的某一块数据盘,可以看到热备盘进行顶替
-
先在磁盘阵列md0的挂载目录/mnt/raid5中随便写入一个文件
-
新开一个终端查看磁盘阵列的最后十行变化
#watch -n0.5 ‘mdadm -D /dev/md0 |tail -10’
- 强制移除
#mdadm /dev/md0 -f /dev/sdd -r /dev/sdd
(-f强制,-r移除)
- 查看文件是否还存在,以及内容是否有损坏
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)