Linux第二本书 第五章Linux存储的基本管理

一.设备识别

设备接入系统后都是以文件的形式存在
设备文件名称:

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         ##查看正在被系统挂载的设备
cat /proc/partitions     ##查看系统识别设备

二.设备挂载

在系统中有设备id的设备是可以被系统使用的

挂载命令:

mount -o 挂载参数   device 挂载点
umount             设备|挂载点
mount          ##查看挂载信息
mount -o rw  /dev/vdb1 /mnt  
mount -o remount,ro /mnt      ##转换挂载参数由读写变为只读,注意:永久挂载才可以使用此命令

在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点           ##-k 结束进程, -v 现实详细信息 -m 显示进程

umount /mnt        ##卸载时设备正在忙
fuser -vm /mnt/         ##查看/mnt/目录下的所有进程的详细信息
fuser -kvm /mnt/        ##结束/mnt/目录下所有的进程
fuser -vm /mnt/  
umount /mnt        ##卸载

注意:以上设备挂载都是临时挂载
设备永久挂载:

vim /etc/fstab   ##编辑设备挂载策略文件
设备                       挂载点        文件系统类型   挂载参数    是否备份 是否检测
/dev/sdb1                  /mnt            vfat    defaults,ro        0  0

此文件在编写完成后不会马上生效
mount -a   ##重新读取/etc/fstab文件

 /etc/fstab 文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行后,重启系统即可

 

 

 三.设备中文件的查找

find /mnt -name "*westos*" ##在/mnt目录中查找文件名称中含有“westos”的文件

 find /mnt -type d  ##在/mnt 中查找文件类型是目录
 find /mnt -type f   ##在/mnt 中查找文件类型是f

find /mnt -maxdepth 1 -type f ##在/mnt 中查找文件类型是f,最深为一层

find /mnt -maxdepth 2 -type f  ##在/mnt 中查找文件类型是f,最深为两层

find /mnt -mindepth 1 -type f  ##在/mnt 中查找文件类型是f,最浅为一层 

find /mnt -mindepth 2 -type f  ##在/mnt 中查找文件类型是f,最浅为两层 

find /mnt -cmin -1   ##在/mnt 中查找文件时间戳距离现在小于一分钟
find /mnt -cmin +1   ##在/mnt 中查找件时间戳距离现在大于一分钟
find /mnt -cmin 1    ##在/mnt 中查找件时间戳距离现在等于一分钟

find /mnt -user root
find /mnt -group lee
find /mnt -user westos -group westos
find /mnt -user westos -not -group westos  ##文件所有人是westos,所有组不是westos
find /mnt -user westos -a -not -group westos  ##文件所有人是westos并且所有组不是westos
find /mnt -user westos -o -not -group westos  ##文件所有人是westos或者所有组不是westos

dd if=/dev/zero of=/mnt/westosfile1 bs=1M count=10
dd if=/dev/zero of=/mnt/westosfile2 bs=1M count=20
dd if=/dev/zero of=/mnt/westosfile3 bs=1M count=30
du -sh westosfile1
du -sh westosfile2
du -sh westosfile3
find /mnt -size +20M   ##在/mnt 中查找文件的大小大于20M
find /mnt -size 20M    ##在/mnt 中查找文件的大小等于20M
find /mnt -size -20M   ##在/mnt 中查找文件的大小小于20M

chmod 640 westosfile2
chmod 333 westosfile3
chmod 500 westosfile4
chmod 444 westosfile5
ll
find /mnt -perm 444    ##在/mnt 目录中查找文件权限为444
find /mnt -perm /444   ##在/mnt 目录中查找文件案权限u或G或O 含有4
find /mnt -perm -444   ##在/mnt 目录中查找文件权限u位有4 G位有4 o位有4

find /mnt -perm -444 -exec chmod ugo-r {} \; ##查找/mnt目录中文件权限u位有4 G位有4 o位有4的文件,然后去掉文件ugo位的可读权限
find /mnt -perm -200 -exec rm -fr {} \; 
##{} 表示find命令查找结果,\是为了转译“;”

四.分区

分区方式:  位数   分区表大小       支付分区个数  支持单个分区大小

legacy    (MBR)   32     64byte      主分区4个            2.2TB             所有分区16个
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
UEFI      (GPT)    64       128byte   理论上无限制      8ZiB              windows 128 

1.MBR分区方式:

主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区

2.分区方法:

给虚拟机nodea加磁盘:

 方法一:设定分区方式为MBR

Command (m for help): o         ##设定分区方式为mbr
Created a new DOS disklabel with disk identifier 0xf7e7f720.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)        ##主分区
   e   extended (container for logical partitions)    ##扩展分区
Select (default p):                         ##建立主分区

Using default response 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): +500M ##分区结束
Command (m for help): p              ##显示分区表
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 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: 0xf7e7f720

Device     Boot   Start      End  Sectors  Size Id Type
/dev/vdb1          2048  1026047  1024000  500M 83 Linux
/dev/vdb2       1026048  2050047  1024000  500M 83 Linux
/dev/vdb3       2050048  3074047  1024000  500M 83 Linux
/dev/vdb4       3074048 41943039 38868992 18.5G  5 Extended

Command (m for help): wq            ##退出保存,如果直接q表示退出不保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

 Command (m for help): m  ##获得帮助
d   ##删除
l   ##列出所有分区类型
n   ##新建
p   ##显示分区表
t    ##更改分区类型
w  ##保存更改
q   ##退出
g   ##设定分区方式为GPT
o   ##设定分区方式为mbr

udevadm settle          ##同步分区表
cat /proc/partitions   ##查看系统识别设备

 mkfs.xfs /dev/vdb1   ##格式化设备为xfs文件系统(相当与在/dev/sdb1上安装设备管理软件)

 mkfs.xfs -K /dev/vdb1   #空白的地方跳过格式化

mkfs.xfs -K /dev/vdb1 -f ##强制格式化

mount /dev/vdb1 /mnt/  ##挂载到/mnt/

 

方法二:parted

parted /dev/vdb mklabel mdgpt          ##设定分区方式为GPT
parted /dev/vdb mkpart primary 1 500
parted /dev/vdb mkpart primary 501 1000
parted /dev/vdb rm 1
parted /dev/vdb rm 2

parted /dev/vdb mklabel msdos  ##设定分区方式为MBR

 

3.常用文件系统对比

 文件系统            FAT16        FAT32       NTFS               EXT3            EXT4              XFS

最大卷                 2GB            4GB           256TB              32TB          1EB                 16EB
最大单个文件     4GB            8TB            16TB                2TB              16TB               8EB

最大文件个数   65536         4177920      4294967295    32000个子目录         无限子目录

代表系统           DOS/Win95    Win98    Win2000以后   RHEL5      RHEL6    RHEL7~

4.设备删除:

dd if=/dev/zero of=/dev/vdb bs=1M count=1

 5.MBR分区方式转换成GPT

parted /dev/vdb
GNU Parted 3.2
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel                                                          
New disk label type? gpt                                                  
Warning: The existing disk label on /dev/vdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) quit                                                             
Information: You may need to update /etc/fstab. 

注意:在RHEL8中可以直接使用fdisk /dev/sdb
g          ##g表示把/dev/sdb设备的分区方式调整为GPT

五.swap分区

swap的作用:程序在运行时所有数据是在RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。当内存使用超过限额,内核会把内存中闲置的数据存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。

swap分区大小建议:
内存大小        swap分区建议大小                           当允许HIBERNATE

2GiB以下           内存两倍                                                   内存3倍
2-8GiB                等于物理内存                                           物理内存2倍
8-64GiB              4GiB                                                          1.5倍物理内存
64GiB以上          4GiB                                                           HIBERNATE不开

swap管理

 swapon -s   ##查看swap分区信息 

创建swap分区  

创建分区并设定分区的类型为Linuxswap   

mkswap /dev/vdb2   ##格式化设备位swap格式

swapon /dev/sdb1 -p 0-32767   ## -p表示指定swap的优先级

以上操作都位临时操作,如果永久添加swap分区
vim /etc/fstab

 删除swap:

vim /etc/fstab    ##将最新编辑的行删除
swapoff /dev/vdb2
swapon -a          ##重新加载
swapon -s          ##查看swap分区信息

 六.磁盘配额

作用:设定用户能写入指定设备的最大额度

fdisk /dev/vdb
udevadm settle 
mkfs.xfs -K /dev/vdb2 -f
mkdir /pub
mount -o usrquota /dev/vdb2 /pub/
mount
chmod 777 /pub/
edquota -u westos    ##设定用户westos配额
edquota -u lee       ##设定用户lee配额

 

 测试:

su - westos
dd if=/dev/zero of=/pub/westosfile bs=1M count=40
dd if=/dev/zero of=/pub/westosfile bs=1M count=50
dd if=/dev/zero of=/pub/westosfile bs=1M count=51
du -sh /pub/westosfile

 永久开启配额:
vim /etc/fstab

 关闭配额:

quotaoff -uv /dev/sdb2        ##去掉配额参数usrquota
vim /etc/fstab

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值