Linux08:磁盘管理相关
CentOS 7中
/dev是一个专门存放设备的目录,s代表sata就是串口,d代表disk磁盘,a代表第一块,b代表第二块…
方法一:#ll /dev/sd*
notes:
方法二:#lsblk
#fdisk /dev/sdb(f表示MBR分区方式),之后按如下操作键进行下一步
n:增加新的分区 p:打印此块磁盘当前分区信息表
步骤:
最前面的0-2047扇区用于存放MBR(单位:以512B为1个扇区)
#partprobe /dev/sdb
通俗的讲:刚刚分好区的磁盘可以比作分好隔间的房间,格式化就是给房间装上衣柜,方便存放东西——即文件管理,而文件系统有很多,好比文件柜的品牌有很多种,此处用的是ext4 (没有进行分区的部分是不能格式化的,没有格式化的分区也不能使用)
#mkfs.ext4 /dev/sdb1——注意:这个操作会清空该磁盘分区内原有的数据
挂载的意义,对于一个格式化完成的分区,也不能直接进行操作,必须把它挂载到/mnt/目录下的一个自定义目录,相当于给这个分区装一个门,然后通过此门对其进行操作,也可以理解为把这个分区链接到挂载目录
以后进行读写操作,用户会以为就是在某个目录下进行直接操作的,这样屏蔽了背后磁盘相关的内容
#mount 文件系统类型 磁盘 挂载位置
note:
永久挂载需要修改配置文件——/etc/fstab
解释:
Async/sync:设置是否为同步方式运行,默认为async auto/noauto :当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
rw/ro :是否以以只读或者读写模式挂载
exec/noexec:限制此文件系统内是否能够进行”执行”的操作
user/nouser:是否允许用户使用mount命令挂载
suid/nosuid:是否允许SUID的存在
Usrquota:启动文件系统支持磁盘配额模式
Grpquota:启动文件系统对群组磁盘配额模式的支持
Defaults:最常用的,同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
一些挂载的主要事项 1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。
2、挂载点必须是已经存在的目录。
3、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
#df -hT(d-disk,f-free空闲空间,h-以合适的形式显示单位,T-type)
(未被挂载的磁盘分区是看不到的,lsblk可以看)
备注:这个sdb磁盘一共5G,已经处理了2G(分区-格式化-挂载)可以正常使用,还剩3G是不能直接用的,同样要经过上面一系列操作才能使用。
由于本虚拟机的磁盘空间给了40G,所以目前来说可用为42G。
操作步骤:删除原有的4号分区,新建分区为扩展分区
注意前四个分区一般是4个主分区或者3个主分区+1个扩展分区,或者2个主分区+1个扩展分区,反正1-4编号的分区只能是主分区+扩展分区的形式,逻辑分区编号只能从5开始
作用:提升内存的容量,防止OOM(out of memory),交换分区存放的是热点数据(无法人为干涉)
目的:提升硬盘速度,类似缓存区的意思
大小:推荐为内存的2倍
查看存储情况——#free -m(单位是M,默认是字节)(-h显示合适单位)
#lsblk也可查看,其中交换区可以看到是接近4G
划分新的交换分区:
针对交换分区的格式化指令:
#mkswap /dev/sdc1
挂载指令:
#swapon /dev/sdc1(不需要指定挂到哪里,可以理解为启用)
卸载指令:
#swapoff /dev/sdc1
#free -h 查看当前存储情况
介绍一条快速写满硬盘的指令——抄写
#dd if=要抄的内容 of=抄到哪里 bs=抄多大 count=抄多少次
#dd if=/dev/zero of=/mnt/disk4/test.txt bs=1M count=1000
(zero是一个字符设备,类型为c,可以理解为它是0文件,里面全是0字符) [c字符设备,是一些串行端口的接口设备,例如键盘、鼠标、打印机、tty终端 ]
可以另开一个终端查看磁盘容量的动态变化过程(每隔0.5秒显示一次):
#watch -n0.5 ‘df -hT’
由于物理磁盘的空间经过分区后,是有限且固定的,不方便管理(分区数有限,容量有限),所以引出逻辑卷(分区无限,方便扩容缩容)。
LVM是 Logical Volume Manager逻辑卷管理
普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。
LVM可以把几块磁盘加入到一个卷组中,再从卷组中抽出空间生成一个或多个逻辑卷(相当于之前的分区),这样的逻辑卷空间是可变的,可以随时使用卷组的空闲空间。
但是,用户文件可以指定存储在某一块逻辑卷中,但实际存在哪一块物理磁盘我们是无法掌控的,这由系统背后来管理。
步骤:
-L 200M表示大小(M或G)
-n lv1表示卷名
vg1表示从哪个卷组中拿空间)
PV:物理卷Physical Volume VG:卷组Volume Group LV:逻辑卷Logical Volume
以块为基本单位,每块大小默认4096字节(4KB),主要是三个部分
目前linux系统中常用的文件系统:
查看文件的inode号 ——#ll -i 文件名
查看磁盘的inode使用情况——#df -i
一个常见问题:
因为一个文件占用一个inode,当inode用完了,即使磁盘空间很充裕,也无法再存放或创建新文件了。
清空磁盘:#rm -rf 磁盘路径
先随便创建一个文件用于练习
#echo 123 > /file1
一. 软链接(符号链接)
补充说明:文件颜色
天蓝: Symbolic link file 链接文件,主要是使用ln命令建立的文件
红字黑底: Broken link 无效链接
二 .硬链接(不常用)
Redundant Array of Independent Disks——廉价磁盘冗余阵列
保证数据安全性,提升数据读取速度
磁盘冗余阵列的处理步骤:
(mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令)
选项解释: -C /dev/md0 : 创建磁盘阵列/dev/md0,-C是create
-l5:表示level5——RAID5
-n3:表示三块数据盘(其中最后一块是校验盘)
-x1:表示一块热备盘
最后写出四块用来做磁盘阵列的可用磁盘,可以分开写
#mkfs.ext4 /dev/md0 #mkdir /mnt/raid5 #mount /dev/md0 /mnt/raid5
#df -hT
四块盘20G,其中一块做校验盘,一块做热备盘,所以实际能用只有两块数据盘,大小为10G
#mdadm -D /dev/md0——查看该阵列的详细信息
-D:detail
验证磁盘阵列的热备功能:
用mdadm指令强制移除磁盘阵列中的某一块数据盘,可以看到热备盘进行顶替
#watch -n0.5 ‘mdadm -D /dev/md0 |tail -10’
#mdadm /dev/md0 -f /dev/sdd -r /dev/sdd
(-f强制,-r移除)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168474.html原文链接:https://javaforall.cn