(十五)Linux存储的基本管理

前言

这一节学习了存储的基本管理,包括 设备识别;谁被挂载;设备中文件的查找;分区的设定;以及swap分区的内容

1.设备识别

设备接入系统后都是以文件的形式存在
设备文件名称:
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 ##查看系统识别设备

这是使用fdisk命令查看到的内容,能看到磁盘分区情况

[root@westos_student50 ~]# fdisk -l
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 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: 0x58fb11e5

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1  *       2048   1050623   1048576  512M 83 Linux
/dev/sda2       1050624   9439231   8388608    4G 82 Linux swap / Solaris
/dev/sda3       9439232 167772159 158332928 75.5G 83 Linux




Disk /dev/loop0: 7.9 GiB, 8436842496 bytes, 16478208 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: 0x47055c33

Device       Boot Start      End  Sectors  Size Id Type
/dev/loop0p1 *        0 16478207 16478208  7.9G  0 Empty
/dev/loop0p2      23900    44279    20380   10M ef EFI (FAT-12/16/32)
[root@westos_student50 ~]# lsbid

lsblk可以查看设备使用情况

[root@westos_student50 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  7.9G  0 loop /var/www/html/westos
sda      8:0    0   80G  0 disk 
├─sda1   8:1    0  512M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0 75.5G  0 part /
sr0     11:0    1 1024M  0 rom  

blkid可以查看设备管理方式以及设备id

[root@westos_student50 ~]# blkid
/dev/sda1: UUID="e96b392b-a3ba-49e1-8ea7-1bd2cccd07e2" TYPE="xfs" PARTUUID="58fb11e5-01"
/dev/sda2: UUID="ddde1134-26f7-413f-8e4b-104776b67f53" TYPE="swap" PARTUUID="58fb11e5-02"
/dev/sda3: UUID="79151530-7d2a-46a7-80ff-fd7c1f4bf571" TYPE="xfs" PARTUUID="58fb11e5-03"
/dev/loop0: UUID="2020-04-04-08-21-15-00" LABEL="RHEL-8-2-0-BaseOS-x86_64" TYPE="iso9660" PTUUID="47055c33" PTTYPE="dos"

df可以查看正在被系统挂载的设备

[root@westos_student50 ~]# df
Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs          894096        0    894096   0% /dev
tmpfs             921932        0    921932   0% /dev/shm
tmpfs             921932    18100    903832   2% /run
tmpfs             921932        0    921932   0% /sys/fs/cgroup
/dev/sda3       79127812 18903428  60224384  24% /
/dev/sda1         518816   220576    298240  43% /boot
tmpfs             184384       16    184368   1% /run/user/42
tmpfs             184384       36    184348   1% /run/user/0
/dev/loop0       8238560  8238560         0 100% /var/www/html/westos

这个是查看系统识别的设备

[root@westos_student50 ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0   83886080 sda
   8        1     524288 sda1
   8        2    4194304 sda2
   8        3   79166464 sda3
  11        0    1048575 sr0
   7        0    8239104 loop0

2.设备挂载

在系统中有设备id的设备是可以被系统使用的
挂载命令:
mount -o 挂载参数 device 挂载点
umount 设备|挂载点
mount ##查看挂载信息
mount -o rw /dev/vda1 /westos
mount -o remount,ro /westos ##转换挂载参数由读写变为只读
在卸载时当出现设备正忙:
fuser -kvm 设备|挂载点 #-k 结束进程, -v 现实详细信息 -m 显示进程
“注意:以上设备挂载都是临时挂载”
设备永久挂载
vim /etc/fstab ##设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos iso9660 defaults 0 0
此文件在编写完成后不会马上生效
mount -a ##重新读取/etc/fstab文件
此文件内容编写错误会导致系统启动失败
按照提示在操作界面输入超级用户密码
注释错误行
重启系统即可

# 
# /etc/fstab
# Created by anaconda on Tue Jun 22 19:16:36 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=79151530-7d2a-46a7-80ff-fd7c1f4bf571 /                       xfs     defaults        0 0
UUID=e96b392b-a3ba-49e1-8ea7-1bd2cccd07e2 /boot                   xfs     defaults        0 0
UUID=ddde1134-26f7-413f-8e4b-104776b67f53 swap                    swap    defaults        0 0
/dev/loop0                                /westos                 xfs     defaults        0 0 
~                                                                                                                                                        
~                                                                                                                                                        
~                                                                                                                                                        
~            

这是因为文件编写错误,所以在重启系统时出现了这个情况,那么我们需要根据提示进入文件,将我们编写的错误文件进行删除
在这里插入图片描述
删除之后就可以成功重启

3.设备中文件的查找

find
-name
-user
-group
-type f d s b l
-perm 222 /222 -222
-exec
-maxdepth 1
-mindepth 1 -cmin 1 -1 +1 -size +|-| 1M
-o-a-not

find /etc/ -name passwd
find /etc/ -maxdepth 1 -name passwd
find /etc/ -maxdepth 2 -name passwd
find /etc/ -maxdepth 2 -mindepth 2 -name passwd
find /mnt -user westos
find /mnt -not -user westos
find /mnt -user westos -o -user lee
find /mnt -user westos -a -group lee
find /mnt -type d
find /mnt -perm 111 #文件权限为111
find /mnt -perm -111 #文件权限u位有1 G位有1 o位有1
find /mnt -perm /111 #文件案权限u或G或O 含有1
find /mnt -perm /111 -type f -exec chmod ugo-x {} ; #{} 表示find命令查找结果
#\是为了转译“;”

用名称查找文件;以及限制最大或者最小

[root@westos_student50 ~]# find /etc/ -name passwd
/etc/pam.d/passwd
/etc/passwd
[root@westos_student50 ~]# find /etc/ -maxdepth -name passwd
find: Expected a positive decimal integer argument to -maxdepth, but got ‘-name’
[root@westos_student50 ~]# find /etc/ -maxdepth 1 -name passwd
/etc/passwd
[root@westos_student50 ~]# find /etc/ -maxdepth 2 -name passwd
/etc/pam.d/passwd
/etc/passwd
[root@westos_student50 ~]# find /etc/ -mindepth 2 -name passwd
/etc/pam.d/passwd
[root@westos_student50 ~]# find /etc/ -mindepth 1 -name passwd
/etc/pam.d/passwd
/etc/passwd

-maxdepth 0" 表示只查找到/data/web/ssy/online下的目录。如果是"-maxdepth 1"则表示查找到/data/web/ssy/online/xxx下的目录

以拥有者来查找文件

   73  find /mnt -user westos
   74  find /mnt -user root
   75  find /mnt -not -user westos
   76  find -user westos -o -user root 
   77  find /mnt -user westos -o -user root 
   78  find /mnt -user westos -a -user root 
   79  find /mnt -user westos -a -group lee
   80  find /mnt -user westos -a -group westos

按文件权限查找

[root@westos_student50 ~]# find /mnt -perm 111
[root@westos_student50 ~]# find /mnt -perm -111
/mnt
/mnt/hgfs
[root@westos_student50 ~]# find /mnt -perm /111
/mnt
/mnt/hgfs

4.分区

分区方式:位数 分区表大小 支付分区个数 支持但个分区大小
legacy (MBR) 32 64byte 主分区4个 2.2TB 所有分区16个
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
UEFI (GPT) 64 128byte 理论上无限制 8ZiB windows 128
##MBR分区方式:##
主分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区
主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区
扩展分区之上划分的分区叫做逻辑分区
#分区方法#
ot@rhel8_node1 mnt]# fdisk /dev/sdb
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.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x4018d2a4.
Command (m for help): m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
g ##设定分区方式为GPT
o ##设定分区方式为mbr
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):wq ##退出保存,如果直接q表示退出不保存
udevadm settle ##同步分区表
mkfs.xfs -K /dev/sdb1 ##格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件)
##-K 不丢弃空数据块
mount /dev/sdb1 /mnt/westos ##mount命令挂在为临时挂在,如果需要永久挂在需要编写/etc/fstab
####parted####
parted /dev/vdb mklabel msdos
parted /dev/vdb mkpart primary 1 100
parted /dev/vdb rm 2
####常用文件系统对比####
文件系统 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~
#man 5 fs
#####设备删除######
dd if=/dev/zero of=/dev/sdb bs=1M count=1
#mbr分区方式转换成GPT#
parted /dev/sda
(parted) 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
(parted) quit
在RHEL8中可以直接使用fdisk /dev/sdb
g ##g表示把/dev/sdb设备的分区方式调整为GPT

下边是将新添加的硬盘进行分区:分了两个主分区,最多可以分四个主分区,剩下的空间都叫扩展分区,扩展分区是一个容器,用来装逻辑分区,在逻辑分区中又可以分有许多分区

[root@westos_student50 ~]# fdisk /dev/sdb

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.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xf4fb2a75.

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): 
First sector (2048-41943039, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +100M

Created a new partition 1 of type 'Linux' and of size 100 MiB.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): +100M
Value out of range.
Partition number (2-4, default 2): 
First sector (206848-41943039, default 206848): 
Last sector, +sectors or +size{K,M,G,T,P} (206848-41943039, default 41943039): +100M

Created a new partition 2 of type 'Linux' and of size 100 MiB.

Command (m for help): p
Disk /dev/sdb: 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: 0xf4fb2a75

Device     Boot  Start    End Sectors  Size Id Type
/dev/sdb1         2048 206847  204800  100M 83 Linux
/dev/sdb2       206848 411647  204800  100M 83 Linux

下边是同步分区表并且格式化设备

[root@westos_student50 ~]# udevadm settle 
[root@westos_student50 ~]# mkfs.
mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.fat     mkfs.minix   mkfs.msdos   mkfs.vfat    mkfs.xfs     
[root@westos_student50 ~]# mkfs.xfs -K /dev/
Display all 164 possibilities? (y or n)^C
[root@westos_student50 ~]# mkfs.xfs -K /dev/sdb1     -K表示不丢失空数据块
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1368, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@westos_student50 ~]# mount /dev/sdb1 /mnt/westos
mount: /mnt/westos: mount point does not exist.
[root@westos_student50 ~]# mkdir /mnt/westos
[root@westos_student50 ~]# mount /dev/sdb1 /mnt/westos
[root@westos_student50 ~]# 

设备的删除

[root@westos_student50 ~]# dd if=/dev/zero of=/dev/sdb bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00134513 s, 780 MB/s

5.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/sda1 ##格式化设备位swap格式
swapon /dev/sda1 -p 0-32767 ## -p表示指定swap的优先级
以上操作都位临时操作
如果永久添加swap分区

vim /etc/fstab
/dev/sda1 swap swap pri=4 0 0
swapon -a
删除swap
vim /etc/fstab
/dev/sda1 swap swap pri=4 0 0 ##删除此行
swapoff /dev/sda1

总结

这一节学习了存储的基本管理,包括 设备识别;谁被挂载;设备中文件的查找;分区的设定;以及swap分区的内容

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值