linux 磁盘
磁盘
在工作当中,主要还是机械硬盘,机械硬盘的好处是数据恢复能恢复到 95%,且维修价格便宜,固态硬盘最多恢复60-70%左右,且维修价格贵,但硬盘有价,数据无价。
磁盘分为扇区,每个扇区是512字节
MBR硬盘分区
主引导记录:
MBR ;一共占446字节,在操作系统安装的时候写入主引导记录,
MBR:核心是一段引导程序,
他的作用:检测磁盘的分区合法性(*功能是否正常,磁盘位置是否正确),之后加载操作系统
引导系统找到正常工作和位置正确的硬盘,引导操作系统读取硬盘当中的内容
MBR记录表核心就是引导,但是它只能分区2T以下的
硬盘分区
主分区 扩展分区(逻辑分区)
主分区和扩展分区加在一起只能有4个
linux系统的硬盘必须要分区之后才能使用
不受4个分区的限制方法:GPT分区:GUID PARTITON TABLE,比MBA的分区方式更好,用标识符GUID来表示分区和硬盘,支持的容量更大,分区也更多,有128个分区,而且不受2T 的限制,最大可以支持9.4zb。
2T以下用MBR分区 命令: fdisk
2T以上用GPT分区 命令 gdisk 或 parted(很少用)
为什么要硬盘分区以及优缺点
不分区就没有引导记录表,没有表,系统找不到硬件设备,
优点:优化I/O性能(输入输出性能也就是读写性能),另一个作用是隔离系统和程序,而且可以采用多个不同的文件系统,
缺点:分区一旦建立,无法修改,只能全部删除重启再来,也不够灵活,所有的空间都来自于一块硬盘,而且是连续的空间,而且没有冗余功能(也就是高可用),没有备份功能,需要工作人员手动备份。
新加一个磁盘后需要刷新或者重启才能识别,
刷新命令:alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
之后输入 :scan
刷新硬件设备的接口信息,同步到内核设备信息表,系统可以直接识别到硬件设备
分区命令
fdisk分区命令
m:帮助信息
n:表示新建分区
p:查看当前硬盘分区情况
d:删除分区
t:变更分区类型
w:保存分区操作,并且退出
q:不保存分区操作,并且退出
分区的类型:
83 :默认的分区类型,
82: swap 类型,
8e :逻辑卷 LVM 类型
如磁盘未显示出来可以刷新 命令:partprobe
扩展分区:大小一般为512字节或者1K,存储分区表的信息
逻辑分区必须要建立在扩展分区的基础之上
存储逻辑分区的分区表
你创建扩展分区扩展给了多大空间,逻辑分区也就只能分多大。
主分区和逻辑分区的作用
主分区最多可以分4个(MBR模式),每个主分区都可以独立的安装一个操作系统,而且也可以存储数据,
逻辑分区,基于扩展分区才可以创建逻辑分区,逻辑分区不能安装操作系统,因为他没有分区表,所以只能存储数据
文件系统
分区之后的硬盘,必须要创建文件系统才可以挂载
什么是文件系统:主要用来管理linux系统中的文件和目录,管理存储设备的数据存储和访问
文件系统的作用:
1.最核心的就是数据组织和存储,组织数据的结构,把文件分为不同的目录,数据存储在物理设备上
2.数据保护,为什么会有权限,就是因为文件系统提供的权限控制
3.数据访问,文件系统提供了对存储设备访问的接口,通过接口可以访问硬盘上的数据
4.数据管理,文件系统提供了,复制,删除,移动,重命名,
linux的centos 7 的文件系统:默认就是XFS
XFS:这个作用于大型文件管理,和高性能存储需求
mkfs:创建文件系统命令 格式mkfs.xfs
创建硬盘分区分三步
第一步分区
1.永久挂载刷新命令:vim /etc/profile 进入后输入下面的刷新命令
刷新命令: alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
Wq!保存退出 , 然后刷新一下:命令格式:source /etc/profile ,scan回车,lsblk回车
2.fdisk /dev/sdb , n , p , +5G , w 保存退出 ,lsblk查看一下,如未出现,可能是由于缓存没有同步导致的,可以使用一个刷新命令刷新一下,命令:partprobe 重新读取硬件信息
在外面可以通过 Fdisk -l /dev/sdb 可以查询到硬盘分区全部信息情况
建立扩展分区fdisk /dev/sdb
创建逻辑分区fdisk /dev/adb
mkfs.xfs -f /dev/sdb1
第二步:创建文件系统 mkfs.xfs -f /dev/sdb1
第三步:临时挂载: mount /dev/sdb1 /data,永久挂载需要UUID号,查询UUID号的命令:blkid ,编辑文件方式 :vim /etc/fstab,
UUID="9f3867e2-612b-4bab-b5d0-1915cf798c25" /data xfs defaults 0 0
UUID="2017-09-06-10-51-00-00" /mnt iso9660 defaults 0 0
建立data目录 : mkdir /data , mkdir /data1
Mount -a : 刷新 df -h 查看
完成
挂载以及UUID的补充:
mount :临时挂载,重启失效
永久挂载:自动挂载需要改文件,文件位置在 /etc/fstab vim 编辑,/dev/sdb1 /data xfs defaults 0 0
defaults 0 0 的意思 :defaults默认,默认拥有所有权限,读写,同步,自动挂载等等,第一个0表示不备份,第二个0表示系统启动时,不检查文件系统
mount -a : 不重启刷新
如何查询 设备 的唯一编号UUID号命令:blkid UUID是永久不变的,唯一的,不会重复的
swap分区 交换分区
当系统的物理内存不够用时,swap分区就会释放出一些空间供物理内存使用,物理内存使用完之后,这部分内存空间要还给swap分区
buff//cache :缓存(buff),页缓存(cache),
buff缓存:文件系统的元数据和文件的权限,时间戳
页缓存:存储设备中的数据和文件(经常访问)
available:剩余内存大小 一般和 free对应,total:物理内存总大小。 used:已使用的内存大小。 free:未使用的内存大小。 shared:被共享使用的内存大小。 buff/cache:用于缓存的内存大小,包括缓存和页缓存。 available:还可用于程序和文件系统的内存大小。
rw/ro 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 async/sync 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。 dev/nodev 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。 auto/noauto 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。 suid/nosuid 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。 exec/noexec 设定在文件系统中是否允许执行可执行文件,默认是允许。 user/nouser 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。 | defaults 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。 remount 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。
lvm的主要就是动态扩容
可以在不解除挂载点,也不妨碍其他用户的使用的情况下进行扩容
lvm就是为了补足fdisk的不足,lvm在概念上和fdisk相同,但是他是逻辑意义上的一个硬盘,使用lvm的时候不考虑底层物理磁盘的概念
G物理卷:真正意义上的提供磁盘存储的物理硬盘或分区
创建物理卷的命令:
pvcreate :创建 ,
pvdisplay : 显示物理卷的详细情况
pvremove:删除物理卷
pvscan:扫描物理卷
VG:卷组:把多个物理卷组合起来,就成了一个卷组,可以使一个硬盘里的多个分区,也可以是不同的硬盘的不同分区
vgcreate:创建卷组
vgdisplay:显示卷组的详细情况
vgemove:移除卷组
vgscan:扫描卷组
vgextend:扩容卷组
vgreduce:缩容卷组
逻辑上的硬盘
LV:分区,把这个逻辑硬盘进行分区
PE:物理扩展,他是lvm逻辑卷的最小保存数据存储单元,每个 PE 4MB 可以调整,一般就是默认
lvcreate:创建逻辑卷
lvdisplay:显示逻辑卷的详细情况
lvremove:显示逻辑卷的详细情况
lvscan:移除逻辑卷
lvextend:扩容逻辑卷
lvreduce:缩容逻辑卷
针对硬盘的操作,一般没有缩容的概念
创建物理卷:pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc1
创建卷组:vgcreate ky32 /dev/sdb1
创建卷组,要给卷组起个名字
lv创建逻辑卷
lvcreate -L +10G -n chen ky32
-L :指定容量,也就是逻辑卷的大小,M G T
-n;制定逻辑卷的名称
lvm扩容
扩容要先扩卷组,扩完了卷组才能扩逻辑卷
vgextend ky32 (卷组名) /dev/sde1 (物理设备)
lvextend -L +10G /edv/ky32/guoqisandai -r