文章目录
1、设备识别
添加1个10G的磁盘
fdisk -l ##查看磁盘分区情况
[root@node3 ~]# fdisk -l ##查看磁盘分区情况
Disk /dev/vda: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7f3d7b9a
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 1026047 1024000 500M 83 Linux
/dev/vda2 1026048 2050047 1024000 500M 82 Linux swap / Solaris
/dev/vda3 2050048 16777215 14727168 7G 83 Linux
Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x87939759
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 1026047 1024000 500M 83 Linux
/dev/vdb2 1026048 3123199 2097152 1G 82 Linux swap / Solaris
blkid ##设备使用情况
[root@13 ~]# blkid
/dev/vda3: UUID="507ea076-b54f-4180-a6cb-94e8ae3b6773" TYPE="xfs" PARTUUID="7f3d7b9a-03"
/dev/vda1: UUID="0a0ab091-756f-4714-b513-4de0e943b1aa" TYPE="xfs" PARTUUID="7f3d7b9a-01"
/dev/vda2: UUID="54ae19b5-4dc4-479e-8e42-38d7c880d731" TYPE="swap" PARTUUID="7f3d7b9a-02"
/dev/sr0: UUID="2020-04-04-08-21-15-00" LABEL="RHEL-8-2-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="47055c33" PTTYPE="dos"
/dev/vdb1: UUID="be3e3b25-b1a1-44e3-ae62-c95838adc7da" TYPE="xfs" PARTUUID="87939759-01"
/dev/vdb2: UUID="ce9e276e-c0ad-4c7c-8be9-71fc19f80a1b" TYPE="swap" PARTUUID="87939759-02"
lsblk ##设备管理方式及设备id
[root@13 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.9G 0 rom /var/www/html
vda 253:0 0 8G 0 disk
├─vda1 253:1 0 500M 0 part /boot
├─vda2 253:2 0 500M 0 part [SWAP]
└─vda3 253:3 0 7G 0 part /
vdb 253:16 0 10G 0 disk
├─vdb1 253:17 0 500M 0 part /westosdir
└─vdb2 253:18 0 1G 0 part [SWAP]
df ##查看正在被系统挂载的设备
[root@13 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 907564 0 907564 0% /dev
tmpfs 935408 0 935408 0% /dev/shm
tmpfs 935408 9780 925628 2% /run
tmpfs 935408 0 935408 0% /sys/fs/cgroup
/dev/vda3 7353344 4563648 2789696 63% /
/dev/vda1 506528 218800 287728 44% /boot
tmpfs 187080 1180 185900 1% /run/user/42
tmpfs 187080 28 187052 1% /run/user/0
/dev/sr0 8238560 8238560 0 100% /var/www/html
/dev/vdb1 506528 40660 465868 9% /westosdir
cat /proc/partitions ##查看系统识别设备
[root@13 ~]# cat /proc/partitions
major minor #blocks name
253 0 8388608 vda
253 1 512000 vda1
253 2 512000 vda2
253 3 7363584 vda3
253 16 10485760 vdb
253 17 512000 vdb1
253 18 1048576 vdb2
11 0 8239104 sr0
2、设备挂载
临时挂载
[root@node3 ~]# mount -o ro /dev/sdb1 /mnt ##只读挂载
[root@13 Desktop]# cd /mnt
[root@13 mnt]# touch file
touch: cannot touch 'file': Read-only file system
[root@node3 ~]# mount -o rw /dev/sdb1 /mnt ## 读写挂载
[root@node3 ~]# mount -o remount,ro /mnt/ ##转换挂载参数由读写变为只读
##在卸载时当出现设备正忙:
[root@node3 ~]# fuser -kvm /mnt/ #-k 结束进程, -v 现实详细信息 -m 显示进程
[root@node3 ~]# df
/dev/sda1 15099552 1281216 13818336 9% /mnt
[root@node3 ~]# umount /mnt/
[root@node3 ~]# df
/dev/sda1 15099552 1281216 13818336 9% /run/media/root/YI
永久挂载
[root@node3 etc]# vim /etc/fstab ##设备挂载策略文件
/dev/vdb1 /westos xfs defaults 0 0
[root@node3 etc]# mount -a ##此文件在编写完成后不会马上生效,需要重新读取/etc/fstab文件
注意:此文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可。
3、设备中文件的查找
find /mnt/ -group haha ##查找文件所有组
find /mnt/ -user root ##查找文件所有人
find /mnt/ -type f ##查找文件类型
find /mnt/ -type d
find /mnt/ -perm /111 #文件权限u或G或O 含有1
find /mnt/ -perm -111 #文件权限u位有1 G位有1 o位有1
find /mnt/ -perm -002 #other位有写权限
find / -perm -002 -type l ##other位有写权限 且是链接
find / -perm -002 -not -type l ##other位有写权限 不是链接 not 条件反选
find /mnt -maxdepth 1 -perm -004 ## 查找层级是1层 -perm 按照文件权限查找
find /mnt -maxdepth 1 -mindepth 1 -perm -004 ## 查找最少浅度是1层 最大深度是1层
find /mnt/ -cmin 1 ##查找一分钟之前建立的 最后一次更改的时间
find /mnt/ -cmin -1 ##查找一分钟以下建立的
find /mnt/ -cmin +1 ##查找一分钟以上建立的
touch file
find /mnt/ -cmin 1
find /mnt/ -cmin -1
find / -size +100M ##查找超过100M的文件
du -sh /proc/kcore
find /var -size +1G
find /mnt -group haha -user root
find /mnt -group haha -a -user root ##-a 并且
find /mnt -group haha -o -user root ##-o 或者
find /mnt/ -perm -002 -exec chmod o-w {} \; #{} 表示find命令查找结果 \是为了转译“;”,对写权限进行删除,-exec 对查找出来的内容进行相应处理。
4、分区
MBR分区方式
-
主分区:主分区表记录分区的信息并可以直接使用的分区
-
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
-
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
MBR分区方法
fdisk /dev/vdb
[root@node3 mnt]# fdisk /dev/vdb
Command (m for help): n #新建
Partition type
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended (container for logical partitions) ##扩展分区
Select (default p): p ##建立主分区
Partition number (1-4, default 1):1 ##分区表位置
First sector (2048-20971519, default 2048): ##分区起始位置推荐使用默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +100M ##分区结束位置
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 206847 204800 100M 83 Linux
Command (m for help):wq ##退出保存,如果直接q表示退出不保存
[root@server1 ~]# udevadm settle ##同步分区表
[root@server1 ~]# cat /proc/partitions ##查看新建分区
Command (m for help): m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
g ##设定分区方式为GPT
o ##设定分区方式为mbr
建立主分区
建立扩展分区
parted /dev/vdb
[root@13 Desktop]# parted /dev/vdb ##建立分区
(parted) print
(parted) mklabel
New disk label type? msdos
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? xfs
Start? 1
End? 1000
(parted) p
(parted) quit
[root@13 Desktop]# parted /dev/vda
(parted) rm
Partition number? 1
(parted) quit ## 删除分区
非交互建立分区
[root@13 Desktop]# dd if=/dev/zero of=/dev/vdb bs=1M count=1
[root@13 Desktop]# parted /dev/vdb mklabel msdos ##如果已经设定分区类型,不用操作
Information: You may need to update /etc/fstab.
[root@13 Desktop]# parted /dev/vdb mkpart primary 1 100 ##建立分区 起始块为1 结束块未为100。
[root@13 Desktop]# fdisk -l
/dev/vdb1 2048 194559 192512 94M 83 Linux
[root@13 Desktop]# parted /dev/vdb rm 1 ##删除分区
格式化分区
[root@server2 ~]# mkfs.xfs -K /dev/vdb1 ##-K 空的格式块不处理 -f 强制
[root@server2 ~]# blkid
/dev/vda1: UUID="6afd53be-faf4-4657-9fa1-f9d874273355" TYPE="xfs" PARTUUID="e2cf8cf0-01"
/dev/vda2: UUID="49bf50a0-6930-4190-9d17-b45ce81126fb" TYPE="swap" PARTUUID="e2cf8cf0-02"
/dev/vda3: UUID="2542a8c9-3af8-4fbf-affd-3d34606bd74d" TYPE="xfs" PARTUUID="e2cf8cf0-03"
/dev/sr0: UUID="2019-04-04-08-40-23-00" LABEL="RHEL-8-0-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="0da1aba4" PTTYPE="dos"
/dev/vdb1: UUID="db52e2df-087d-419d-b594-2294860bbc80" TYPE="xfs" PARTUUID="340b6c13-01"
[root@server2 ~]# mount /dev/vdb1 /mnt
[root@server2 ~]# umount /mnt
mbr分区方式转换成GPT
[root@13 Desktop]# fdisk /dev/vdb
Command (m for help): g
Created a new GPT disklabel
Command (m for help): n
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971486, default 20971486): +100M
Do you want to remove the signature? [Y]es/[N]o: Y
Command (m for help): p
Device Start End Sectors Size Type
/dev/vdb1 2048 206847 204800 100M Linux filesystem
##改回doc模式
[root@13 Desktop]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x87fc2e98.
The old gpt signature will be removed by a write command.
Command (m for help): p
Disk /dev/vdb: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x87fc2e98
Command (m for help): wq
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@node3 etc]# parted /dev/vdb mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost.
Do you want to continue?
Yes/No? yes
[root@node3 etc]# parted -l
[root@node3 etc]# parted /dev/vdb mkpart primary 1 500
[root@node3 etc]# mkfs.xfs /dev/vdb1
[root@node3 etc]# blkid
5、swap分区
swap分区作用
程序在运行时所有数据是在RAM,当RAM使用量超过了限额为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap,当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。
建立swap分区
- 临时添加分区
[root@node3 etc]# fdisk /dev/vdb
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +2G
Do you want to remove the signature? [Y]es/[N]o: y
Command (m for help): t ##l查看分区类型
Selected partition 1
Hex code (type L to list all codes): 82
Command (m for help): p
dev/vdb1 2048 206847 204800 100M 82 Linux swap / Solaris
Command (m for help): wq
[root@node3 etc]# mkswap /dev/vdb1 ##格式化设备位swap格式
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=6069ad03-fba1-4a51-8519-95e217df9c0f
[root@node3 etc]# swapon -a /dev/vdb1 ##生效
[root@node3 etc]# swapon -s
- 永久添加swap分区
[root@node3 etc]# vim /etc/fstab
/dev/vdb1 swap swap default,pri=1 0 0 ##优先级为1,编辑后重启
[root@node3 etc]# swapon -a /dev/vdb1 ##生效
- 删除swap分区
[root@13 Desktop]# vim /etc/fstab ##永久删除,删除swap内容
[root@13 Desktop]# swapoff /dev/vdb1
[root@13 Desktop]# partprobe ##同步分区表
[root@13 Desktop]# swapon -s
[root@13 Desktop]# fdisk /dev/vdb ##删除分区
设定优先级
[root@13 Desktop]# partprobe ##同步分区表
[root@13 Desktop]# mkswap /dev/vdb1 ##格式化设备位swap格式
[root@13 Desktop]# swapon -a /dev/vdb1
[root@13 Desktop]# swapon -s
Filename Type Size Used Priority
/dev/vda2 partition 511996 268 -2
/dev/vdb1 partition 487420 0 -3
[root@13 Desktop]# swapon /dev/vdb1 -p 1
[root@13 Desktop]# swapon -s
Filename Type Size Used Priority
/dev/vda2 partition 511996 20848 -2
/dev/vdb1 partition 102396 0 1
6、磁盘配额
[root@13 Desktop]# fdisk /dev/vdb
[root@13 Desktop]# mkfs.xfs -K /dev/vdb1 -f
[root@13 Desktop]# ls -ld /westos
[root@13 Desktop]# chmod 1777 /westos/
[root@13 Desktop]# ls -ld /westos
[root@13 Desktop]# mount /dev/vdb1 /westos
[root@13 Desktop]# ls -ld /westos
drwxr-xr-x 2 root root 6 Nov 17 13:31 /westos ##挂载之后改权限,挂载之前改的权限在在挂载后不会保存
[root@13 Desktop]# chmod 1777 /westos
[root@13 Desktop]# ls -ld /westos
drwxrwxrwt 2 root root 6 Nov 17 13:31 /westos
[root@node3 ~]# mount /dev/vdb2 -o usrquota /westos/
[root@node3 ~]# mount
/dev/vdb1 on /westos type xfs (rw,relatime,attr2,inode64,usrquota)
[root@node3 ~]# quotaon -uv /dev/vdb1 ## U表示用户 v 表示激活过程
quotaon: Enforcing user quota already on /dev/vdb1
[root@node3 ~]# edquota -u westos
/dev/vdb1 0 0 20480 0 0 0
## 检测
[westos@node3 ~]$ dd if=/dev/zero of=/westos/westosfile bs=1M count=19
19+0 records in
19+0 records out
19922944 bytes (20 MB, 19 MiB) copied, 0.0181779 s, 1.1 GB/s
[westos@node3 ~]$ dd if=/dev/zero of=/westos/westosfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB, 20 MiB) copied, 0.0398066 s, 527 MB/s
[westos@node3 ~]$ dd if=/dev/zero of=/westos/westosfile bs=1M count=21
dd: error writing '/westos/westosfile': Disk quota exceeded
## 永久开启配额
[root@node3 ~]# vim /etc/fstab
/dev/vdb1 /westos xfs default,usrquota 0 0
## 关闭配额
[root@node3 ~]# quotaoff -uv /dev/vdb1
Disabling user quota enforcement on /dev/vdb1
/dev/vdb1: user quotas turned off
[root@13 Desktop]# umount /westos
[root@13 Desktop]# mount /dev/vdb1 /westos
[root@13 Desktop]# mount
/dev/vdb1 on /westos type xfs (rw,relatime,attr2,inode64,noquota) ##配额关闭