Linux存储的基本管理

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) ##配额关闭

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值