设备识别(观察磁盘分区状态)
设备接入系统后都是以文件的形式存在
设备 | 设备文件名称 | 解释 |
---|---|---|
SATA/SAS/USB | /dev/sda,/dev/sdb | s= SATA, d=DISK a=第几快 |
IDE | /dev/hd0,/dev/hd1 | h= hard |
VIRTIO-BLOCK | /dev/vda,/dev/vdb | v=virtio |
M2(SSD) | /dev/nvme0,/dev/nvme1 | nvme=m2 |
SD/MMC/EMMC(卡) | /dev/mmcblk0,/dev/mmcblk1 | mmcblk=mmc卡 |
光驱 | /dev/cdrom,/dev/sr0,/dev/sr1 | 只能读 |
设备查看命令 | 解释 |
---|---|
fdisk -l | 查看磁盘分区情况 |
lsblk | 列出所有块设备使用情况 |
blkid | 列出别系统处理过的设备的管理方式及id |
df | 查看正在被系统挂载的设备(-h 转换单位) |
cat /proc/partitions | 查看系统识别设备 |
设备挂载
linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。
挂载命令mount 设备 挂载点
挂载设备umount 挂载点
卸载挂载mount
查看挂载信息
mount -o rw /dev/vda1 /test
读写挂载(如果挂载点有进程不能直接只读挂载)mount -o remount,ro /test
转换挂载参数由读写变为只读
在卸载时当出现设备正忙时:fuser -kvm 挂载点
-k 结束进程 -v 现实详细信息 -m 显示进程
设备永久挂载(详见下方新增设备的挂载)vim /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等默认参数的设置 |
- 第五列:能否被dump备份命令作用(dump是一个用来作为备份的命令。通常这个参数的值为0或者1)
参数 | 解释 |
---|---|
0 | 代表不要做dump备份 |
1 | 代表要每天进行dump的操作 |
2 | 代表不定日期的进行dump操作 |
- 第六列:是否检验扇区(开机的过程中,系统默认会以fsck检验我们系统是否为完整)
参数 | 解释 |
---|---|
0 | 不检验 |
1 | 最早检验(一般根目录会选择) |
2 | 1级别检验完成之后进行检验 |
注: 此文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可。
增加储存设备(分区-格式化-挂载)
分区
为什么要进行分区
- 数据的安全性:因为每个分区的数据是分开的!所以,当你需要将某个分区的数据重整时,例如你要将计算机中的Windows的C盘重新安装一次系统时,可以将其他重要数据移动到其他分区,例如将桌面数据移动到D盘去,那么C盘重灌系统并不会影响到D盘!所以善用分区,可以让你的数据更安全。
- 系统的性能考虑:由于分区将数据集中在某个柱面的区段,例如第一分区位于柱面号码1~100号,如此一来当有数据要从该分区读取时,磁盘指挥搜寻前面100个柱面范围,由于数据集中了,将有助于数据读取的速度和性能!所以说,分区是很重要的。
- 但是初学者不建议对
/
目录再次分区
msdos与gpt分区方式
早期的Linux系统为了兼容Windows的磁盘,使用支持Windows的MBR的方式来处理开机管理程序与分区表,因此有了msdos分区方式,该方式一般情况下只支持小于2T的硬盘,有主分区,扩展分区,逻辑分区。且分不能超过4个。而gpt支持大容量的硬盘,不区分主分区,扩展分区,逻辑分区,也没有4个分区数量的限制。
使用gdisk/fdisk进行分区
MBR分区请使用fdisk,GPT分区请使用gdisk
gdisk /dev/nvme0n2
用fdisk给新增设备分区
Command (? for help): n #新增分区;?表示查看帮助
Partition number (1-128, default 1): 1 #分区编号,也可直接enter
First sector (34-10485726, default = 2048) or {+-}size{KMGTP}: #直接enter
Last sector (2048-10485726, default = 10485726) or {+-}size{KMGTP}: +1G #表示分配1G大小
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): #enter默认使用8300文件系统
Changed type of partition to 'Linux filesystem'
Command (? for help): p #打印分区表
Disk /dev/nvme0n2: 10485760 sectors, 5.0 GiB
Model: VMware Virtual NVMe Disk
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): FC542CE8-136B-4234-8CA7-456D5A9E3A67
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 10485726
Partitions will be aligned on 2048-sector boundaries
Total free space is 8388541 sectors (4.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB 8300 Linux filesystem
fdisk /dev/nvme0n2
用fdisk给新增设备分区(一般不使用)
注: 在RHEL8中可以直接使用fdisk /dev/nvme0n2
并输入g
把/dev/nvme0n2设备的分区方式调整为GPT
格式化
mkfs.xfs /dev/nvme0n2 -f
格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件)-f 强行覆盖
挂载
临时挂载mkdir /pub
建立根下共享目录mount /dev/nvme0n2 /pub
mount命令挂载为临时挂在,如果需要永久挂在需要编写/etc/fstab
永久挂载vim /etc/fstab
永久挂载策略文件,此文件在编写完成后不会马上生效
设备名称或 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/nvme0n2 /pub xfs default 0 0
mount -a
重新读取/etc/fstab
文件
- 第一列:磁盘设备文件或者该设备的Label或者UUID
- 第二列:设备的挂载目录
- 第三列:磁盘分区的文件系统,包括xfs,ext4,vfat,reiserfs,nfs等
- 第四列:文件系统的参数
设备删除与清理fdisk /dev/nvme0n2
Command (m for help): d
dd if=/dev/zero of=/dev/vdb bs=1M count=1
设备删除
磁盘配额
作用:设定用户能写入指定设备的最大额度
设定方法:mount /dev/nvme0n2 /pub/ -o usrquota
挂载设备并激活配额参数quotaon -uv /dev/nvme0n2
激活配额edquota -u redhat
设定用户redhat配额
Disk quotas for user lee (uid 1001):
设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard
/dev/nvme0n2 20480 0 20480 1 0 0
永久开启配额
vim /etc/fstab
/dev/nvme0n2 /pub xfs defaults,usrquota 0 0
关闭配额:
vim /etc/fstab ##去掉配额参数usrquota