Linux存储设备的管理与分区
这次我们说到系统的储存设备的管理,什么是系统的储存设备?简单点就是硬盘,优盘。
为什么要分区?分区的原因是因为将所有文件放到一起管理太麻烦。(一个分区的数据损坏不会导致整个硬盘的数据都完蛋!!!)
###一.储存设备的管理###
设备的查看
1.发现系统中的设备(fdisk -l /proc/partitions这两种方法可以发现系统中连接的设备。但是无法确定是否可以使用)
2.系统识别了,你没有使用,但是可以使用的,(blkid 查看设备的ip信息)
3.发现并且在使用的设备(df查看正在使用的设备)
这些命令中的数字默认显示为K 加了-h 会进行统计(-h 1G=2的n次方 -H 1G=10的n次方所以h比H显示的要小一点,但是更加精确)
###二.设备名称的读取###
/dev/xd*
x=s /dev/sd* ##sata硬盘,或者iscsi网络存储
x=v /dev/vd* ##虚拟硬盘,一般使用在虚拟机里
x=h /dev/hd* ##ide硬盘,一般出现在老式电脑中
*=a~... ##/dev/vda,系统中第一块虚拟硬盘
/dev/sda1 ##系统中的第一块sata硬盘的第一个分区
/dev/cdrom,/dev/sr[0-...] ##系统中的光驱
/dev/mapper/* ##系统中的虚拟设备
###三.设备的使用###
设备必须要用目录来对设备中的内容进行读取
所以设备在使用时需要作挂载动作
那么如何挂载
1,blkid 识别可用设备(前提必须是可使用的设备才可以进行挂载)
2,mount 设备 挂载点 #设备的挂载
3,umount 设备|挂载点
mount -o(obtions 动作选项) ro(read only只读)设备 目录 默认挂载时是读写的
某些特殊情况下无法umount再mount(就比如你正在使用挂载下的某个文件,需要临时修改,但是挂载的属性是只读的),用mount -o remount,rw(读写)目录|设备 ##对设备进行一次热更改(在设备被使用时更改设备的挂载参数)
注意!当卸载设备时,出现繁忙情况。表示设备正在被系统的某个程序使用
进程发现的方式
lsof 设备 显示正在使用该设备的程序
fuser -vm 设备 也可以看到
进程终止的方式
kill -9 pid
fuser -kvm 设备或者挂载点 即发现同时也可以结束当前占用程序
###四.设备的分区管理###
##设备分区信息##
mbr446个字节(完成这个动作需要最短的代码是446个字节)作用是让你的磁头寻找启动分区:主引导记录(MBR)
因为一般都是使用2的n次方的字节数,446离512接近 mpt为64个字节 55aa有两个字节相加就是512字节
55aa ##硬盘有效性标识
mpt ##主分区表(分区信息,)主分区表记录的分区,叫做主分区
主分区没有记录的分区叫做扩展分区(一般来说是因为mpt没有空间在进行记录的时候会是要到扩展分区),扩展分区中的分区叫做逻辑分区(用扩展分区来记录的分区)。
##分区划分##
1.fdisk 设备名
m ##获得帮助
d ##删除分区
n ##新建分区
p ##显示分区表信息
q ##退出
t ##修改分区id
w ##将当前操作写入硬盘分区表
所以写n
paertition type ##创建分区类型
p ##主分区
e ##扩展分区
partition number ##确定主分区的id 默认为1
First sector ##分区起始块位置,用默认
Last sector ##分区结束块位置,用+大小的方式指定
wq退出保存
现在来说做的所有操作都没有写入到硬盘中,如果写q的话没有保存,内存就会释放掉这一部分的命令,wq之后内存才会与硬盘开始同步。
文件系统的区别
exti-4 32tb的分区最大支持
fat 最大支持4tb
ntfs 32tb
xfs 18eb=1024tb 吞吐速度可达7gb每秒
cat /proc/partitions ##查看设备是否被系统识别
但是这个主分区创建出来之后没有相应的文件系统用来操作。
mkfs.xfs 设备 ##进行格式化设备,在设备上安装xfs文件系统
blkid ##查看可用设备,可以看到被格式化好的设备
mount ##挂载,使设备投入使用
但是如何永久挂载
vim /etc/fstab ##设备挂载策略文件(这个文件有许多的用处,还包括设置为开机自启动)
内容
设备 挂载点 文件系统类型 挂载参数 是否备份设备 是否检测设备
/dev/vdb1 /westos xfs defaults 0 0
mount -a ##让fstab中未生效的策略生效
删除分区
umount 设备|挂载点 ##取消挂载
fdisk 设备 ##删除设备
###五.swap分区的管理###
#swap交换分区,系统自己使用,不需要挂载
1.swap分区的查看
swapon -s ##显示swap分区大小
2.swap分区的建立
1划分分区,并修改分区的id为swap
fdisk建立分区 ##默认情况下为普通分区,
t(修改分区id),之后按l(列出所有id号码)查询,寻找swap分区,之后输入swap分区的编号。wq退出保存
mkswap 设备 ##和mkxfs同理,格式化设备为swap文件系统格式。
swapon -a (添加)设备 ##**swap设备,是系统利用此设备
所有的命令操作都是临时的!!!!以后记住了!!!!
依旧是编写/etc/fstab ##让此设备开机自动**
swap不需要写挂载点,但是需要写上swap
之后输入 swapon -a **。之后一定要-s查看,如果写错的话是无法显示出来的,但是系统不会加载这个分区
dd if=/dev/zero of=/swapfile bs=1M count=1000(会做出来一个大小为1000的swap文件但是里面是空的) ##当磁盘全部被占用。不能创建新分区时,可以用文件来代替分区。
创建后的步骤和设备的步骤一致。
但是blkid看不见 ##因为他是个文件,不是个设备。
2.swap分区的删除
vim /etc/fstab
swapon -s ##查看,如果存在的话 swapoff停止两个
删除文件与设备。
###六.磁盘配额###
为磁盘使用用户分配额度
分区配额是针对设备的,对这个用户在其他设备上并无影响
挂载的时候是没有**分配额度的功能的
mount -o usrquota /dev/vdb1 /westos
权限 chmod 777 /westos/
edquota -u 用户 设备
里面的内容,以存在文件大小 软额度 最大额度 文件个数 软额度 硬额度
hard ##用户建立最大的文件大小是多少,要写单位为K
hard写的是2048000
修改完成之后就是200M以上的文件无法创建。
200M以下的文件就可以创建了
partprobe ##同步分区表
这样也是临时的 需要编写/etc/fstab ##开机自动**配额
/dev/vdb1 /westos xfs defaults,usrquota 0 0
怎么看现在设备的分区方式:fdisk -l dos就是mbr的分区方式。
如果想要把mbr的分区方式改成gpt要先把设备上所有的原有分区清理干净
要满足企业每个分区太小的问题(mbr每个分区只有2tb。gpt有八个分区,而且所有的数据都在引导记录中记录)所以要把mbr的分区方式换成gpt
parted 设备
mklabel ##分区形式mbr为msdos,之后yes,quit
mbr开扩展分区的时候要将所有的空间都给他,一定要选默认,
修改mbr和gpt
mbr===>gpt
parted 设备
mklabel(不知道help) ##修改设备分区方式标签
选形式(不知道两下tab)
fdisk -l ##可以看到设备分区方式位gpt
###七.分区加密###
1.建立分区
2.加密格式化(cryptsetup luckFormat 设备)
3.打开盖子(会多出来一个文件在/etc/mapper/westos)
4.文件系统的安装(mkfs.xfs)
5.挂载已经可创建文件了
6.是用完之后取消挂载就可以了。记得关闭盖子
7.再次使用的时候必须重新打开。
cryptsetup luksFormat 设备(选择加密方式)
crypsetup open 设备(打开一个加密过的文件)一个新的名字 ##打开之后会重新生成一个文件,需要把这个文件当作被加密的文件使用
##加密设备开机自动挂载##
1.vim /etc/fstab
/dev/mapper/westos /mnt xfs defaults
2.vim /etc/crypttab
westos /dev/vdb1 /root/passfile
3.vim /root/passfile
chmod 600 /root/passfile
4.cryptsetup luksAddkey /dev/vdb1 /root/passfile
##加密的清除##
umount /dev/mapper/westos
cryptsetup close westos
mkfs.xfs /dev/vdb1 -f(强制格式化)
vim /etc/cyrpttab ##生成westos 来管理下面那个目录 并将密码置于/root/passfile文件中
vim /etc/fstab
vim /etc/cryttab
这里补充一下当你二球的删除掉设备文件的时候,有一个恢复文件的方法,当设备文件被删除之后,先查看设备文件的信息(ll),mknod修复(mknod 设备 b(文件类型)设备文件的下一位)
之后使用rm -rf 删掉就好了
mknod修复(mknod 设备 b(文件类型)设备文件的下一位)
好啦!!!