Linux系统中的设备管理
1.设备识别设备接入系统后都是以文件的形式存在并进行管理。设备文件名称在系统中识别的名称注意SATA/SAS/USB/dev/sda , /dev/sdbs= SATA, d=DISK a=第几快IDE/dev/hd0 , /dev/hd1h= hard , d=DISKVIRTIO-BLOCK/dev/vda , /dev/vdbv=virti...
文章目录
1.设备识别
设备接入系统后都是以文件的形式存在并进行管理。
设备文件名称 | 在系统中识别的名称 | 注意 |
---|---|---|
SATA/SAS/USB | /dev/sda , /dev/sdb | s= SATA, d=DISK a=第几快 |
IDE | /dev/hd0 , /dev/hd1 | h= hard , d=DISK |
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
注意:投入使用的设备才有id,没有投入使用的设备没有id
df ——查看正在被系统挂载的设备
cat /proc/partitions ——查看系统识别设备
被系统识别到的设备才能够被使用
2.设备挂载
在系统中有设备id的设备是可以被系统使用的
2.1 临时挂载设备
挂载命令: mount -o 挂载参数 device 挂载点
查看挂载信息:mount
转换挂载参数由读写变为只读:
mount -o rw /dev/nvme0n1p1 挂载点
mount -o remount , ro 挂载点
挂载点卸载挂载:umount 设备|挂载点
在卸载时当出现设备正忙: fuser -kvm 设备|挂载点
-k 结束进程, -v 现实详细信息, -m 显示进程
2.2 永久挂载设备
设备挂载策略文件——vim /etc/fstab
设备 | 挂载点 | 文件系统类型 | 挂载参数 | 是否备份 | 是否检测 |
---|---|---|---|---|---|
/dev/sr0 | /westos | iso9660 | defaults | 0 | 0 |
此文件在编写完成后不会马上生效,需要重新读取/etc/fstab文件—— mount -a
注意: 此文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可
3.设备中文件的查找
find -name——查找文件
find -maxdepth——指定遍历搜索的最大深度查找文件
find -mindepth——指定开始遍历搜索的最小深度查找文件
find -user——按照文件拥有者查找文件
find -group——按照文件拥有组
find -not——反选查找文件
find -o——条件并列查找文件
find -a——条件并且都满足查找文件
find -type——按照文件类型查找
find -perm——按照文件权限查找文件
find -exec——对查找出来的文件进行操作
4.分区
分区方式: | 位数 | 分区表大小 | 支付分区个数 | 支持单个分区大小 |
---|---|---|---|---|
统分区方式 (MBR) | 32位 | 64个 | 主分区4个,所有分区16个 | 2.2TB |
UEFI (GPT) | 64位 | 128个 | 理论上无限制(windows下128个) | 8ZB |
注意:GTP分区的概念很好的解决了MBR分区大小的限制。
4.1 MBR分区方式
主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区: 扩展分区之上划分的分区叫做逻辑分区
4.2 分区方法
1.进入分区信息——fdisk /dev/sda
关于分区信息的命令 | 功能 |
---|---|
m | 获得帮助 |
d | 删除 |
l | 列出所有分区类型 |
n | 新建 |
p | 显示分区表 |
t | 更改分区类型 |
w | 保存更改 |
q | 退出 |
2. 建立分区表
3. 同步分区表
1>partprobe
2>partx -d /dev/sda ##清理分区表
partx -a /dev/sda ##重新加载分区表
4. 格式化设备(相当于在设备上安装设备管理软件)
mkfs.xfs /dev/sda1 —— 格式化设备为xfs文件系统
4.3 mbr分区方式转换成GPT
默认建立的磁盘为MBR分区方式,转换分区方式后原有数据会消失。
mbr分区方式转换成GPT
parted /dev/sda (parted)
mklabel
New disk label type? gpt Warning:
Yes/No? yes
quit
注意:parted的操作是实时的,不像fdisk需要执行w命令写入所作的修改。
5.swap分区
5.1 swap分区作用
程序在运行时所有数据是在RAM,当RAM使用量超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。
当系统的运行内存内存使用超过限额,内核会把内存中闲置的数据(可能来自一些很长时间没有什么操作的程序)存放到swap中,当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理。
5.2 swap分区大小建议
内存大小 | swap分区建议大小 | 当允许HIBERNATE的swap分区大小 |
---|---|---|
2GiB以下 | 物理内存两倍 | 物理内存3倍 |
2-8GiB | 等于物理内存 | 物理内存2倍 |
8-64GiB | 4GiB | 1.5倍物理内存 |
64GiB以上 | 4GiB | HIBERNATE不开 |
5.3 swap管理
1.查看swap分区信息
swapon -s
2.创建swap分区 (临时)
创建分区并设定分区的类型为Linuxswap
mkswap /dev/sda1
格式化设备为swap格式
swapon -a /dev/sda1
启用swap分区
swapoff /dev/sad1
禁用swap分区
swapon /dev/sda1 -p 优先级
-p表示指定swap的优先级
优先级可设定范围:0-32767
注意:以上操作为临时设定,重启后会消失。
3.永久添加swap分区
vim /etc/fstab /dev/sda1
swap swap pri=4 0 0
swapon -a
启用swap分区
4.删除swap
vim /etc/fstab /dev/sda1
swap swap pri=4 0 0 ##删除此行
swapoff /dev/sda1
5.以文件方式临时充当swap(假设swap分区不足,且硬盘没有空间可以划分)
dd if=/dev/zero of=/swapfile bs=1M count=2000
swap swap pri=4 0 0 ##删除此行
swapoff /dev/sda1
6.磁盘配额
6. 1 磁盘配额作用
设定用户能写入指定设备的最大额度
6.2 磁盘配额设定方法
1.挂载设备并激活配额参数(临时设定)
mount /dev/sda1 /pub/ -o usrquota
2.激活配额(-u开启用户配额,-v显示过程)
quotaon -uv /dev/sda1
3.设定用户red配额
edquota -u lee
Disk quotas for user lee (uid 1001):
设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限 Filesystem blocks soft hard inodes soft hard /dev/sda1 20480 0 20480 1 0 0
测试:
注意:此设定重启会失效。
6.3 永久开启磁盘配额
永久开启磁盘配额
vim /etc/fstab
重启后:mount查看/dev/sda1配额为开启状态
6.4 关闭配额
quotaoff -uv /dev/sda1
vim /etc/fstab
7.逻辑卷
LVM(Logical Volume Manager):逻辑卷管理,它是Linux环境下对磁盘分区进行管理的一种机制,用户在无需停机的情况下可以方便地调整各个分区大小。
LVM功能:在原始设备不变的情况下,它的容量可以拉伸或者缩减
pv | 物理卷 | 被处理过的物理分区 |
---|---|---|
pe | 物理扩展 | 设定存储最小单元 |
vg | 物理卷组 | 捆绑pv到一个组中 |
lv | 逻辑卷 | 分配最终的使用设备 |
7.1 lvm设备建立
建立物理分区并设定分区type为lvm
监控建立过程 watch -n 1 “pvs;echo ====;vgs;echo =====;lvs;echo =====;df -h /weixindata”
1>创建pv
pvcreate /dev/sda2
2>创建vg -s设定pe大小位2M
vgcreate redvg -s 2M /dev/sda2
3>创建lvm -L指定大小 -n指定名称
lvcreate -L 100M -n redlv redvg
4>格式化
mkfs.xfs /dev/mapper/redvg-redlv
5>挂载
mount /dev/redvg/redlv /weixindata/
注意:
7.2 lvm拉伸
1.当vg中的容量充足
1>拉伸设备
lvextend -L 200M /dev/mapper/redvg-redlv
2>拉伸文件系统
(注意:在rhel7中可以用设备或挂载点 ,在rhel8中只能用挂载点)
xfs_growfs /weixindata/
3>当文件系统为ext时使用此命令
resize2fs /dev/mapper/westosvg-westoslv
2.当vg中的容量不足
1>添加新设备
fdisk /dev/sda
2>在新设备中添加lvm管理软件
pvcreate /dev/sda3
3>扩大vg
vgextend redvg /dev/sda3
4>扩大lvm
lvextend -L 2500M /dev/westosvg/westoslv ·=
5>扩大文件系统
xfs_growfs /weixindata/
注意:xfs文件系统只能拉伸,不能缩减。
7.3 lvm缩减
ext文件系统支持缩减
1>格式化为ext4文件系统
mkfs.ext4v /dev/redvg/redlv
2>挂载
mount /dev/mapper/redvg-redlv /weixindate
3>ext4文件系统拉伸:
resize2fs /dev/mapper/redvg-redlv
缩减步骤:
1>卸载设备
umount /weixindata
2>检测设备上的数据
3>e2fsck -f /dev/redvg/redlv
4>缩减文件系统到指定大小
resize2fs /dev/redvg/redlv 1500M
mount /dev/redvg/redlv /weixindata/ 可再次挂载查看
5>缩减设备到指定大小
lvreduce -L 1500M /dev/redvg/redlv
6>缩减vg,停掉闲置设备
vgreduce westosvg /dev/sda3
7>从lvm中取出闲置设备
pvremove /dev/sda3
7.4 lvm删除
1>停止设备
umount /dev/mapper/redvg-redlv
2>删掉设备
删除lv
lvremove /dev/redvg/redslv
删除vg
vgremove redvg
删除pv
pvremove /dev/sda2
更多推荐
所有评论(0)