本节我们来了解一下linux系统的磁盘管理
识别设备常用命令有:
fdisk -l 查看真实存在的设备
cat /proc/partition 系统识别的设备
blkid 系统可使用的设备
df 系统正在挂载的设备
du 查看磁盘容量
什么是挂载?
在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。
设备的挂载和卸载
1.设备名称
/dev/xdx /dev/hd0 /dev/hd1 /dev/sda /dev/sda2
/dev/sr0 光驱
/dev/mapper 虚拟设备
命名规则
/dev/hda 主IDE的主接口上的硬盘,即系统第一个硬盘
/dev/hda1 第一个硬盘的第一个主分区
/dev/hda2 第一个硬盘的第二个主分区
/dev/hda3 第一个硬盘的第三个主分区
/dev/hda4 第一个硬盘的第四个分区,即扩展分区
/dev/hda5 第一个硬盘的第一个逻辑分区
/dev/hda6 第一个硬盘的第二个逻辑分区
······
/dev/hdb 主IDE的从接口上的硬件,即系统第二个硬盘
/dev/hdb1 第二个硬盘的第一个主分区
---------------------
作者:astonqa
来源:CSDN
原文:https://blog.csdn.net/astonqa/article/details/7337108引自:现代Linux设备号命名规则
2.设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt 挂载sdb1到mnt
umount /mnt 或 /dev/sdb1 卸载
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -o rw /dev/sdb1 /mnt 读写挂载
mount 查看挂载信息
mount -O remount,rw /dev/sdb1 或 /mnt 重新读写挂载
例:
解决u盘连接电脑无反应
首先使用fdisk -l 查看设备,找到u盘设备
在/mnt/下建立工作区/mnt/usr/
将/dev/sdb1(u盘设备)挂载到/mnt/usr
就可以看到u盘的东西啦
不用的时候 使用umount /mnt/usr/ 卸载即可
解决卸载u盘正忙问题
小伙伴们卸载u盘时,有时也会出现这样的情况
显示设备正忙
解决方法1
fuser -kvm /mnt/usr
结束正在使用/mnt的程序
umount /mnt/usr 即可
解决方法2
lsof /mnt/usr
可以看到bash占用/mnt/usr
使用:kill -9 7951(PID)
然后umount /mnt/usr即可
Linux磁盘分区
1、什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
2、为什么要有多个分区?
防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起系统挂起。
3、分区工具fdisk用法介绍
fdisk命令参数介绍
p、打印分区表。
n、新建一个新分区。
d、删除一个分区。
q、退出不保存。
w、把分区写进分区表,保存并退出。
fdisk /dev/vdb 进入fdisk分区界面
输入m查看帮助
常用命令:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ##删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types ##列出系统可用的分区类型
m print this menu
n add a new partition ##新建分区
o create a new empty DOS partition table
p print the partition table ##显示分区
q quit without saving changes ##推出
s create a new empty Sun disklabel
t change a partition's system id ##修改分区功能id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改到分区表中
x extra functionality (experts only)
按"n"键新建一个分区
Command (m for help): n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##分区类型位主分区
e extended ##分区类型位扩展分区
Select (default p): ##默认位主分区
按默认直接回车
直接按回车表示1柱面开始分区
提示最后一个柱面或大小。
输入+1000M 按回车
表示第一个分区为1G空间。
按"p"查看一下分区
wq保存退出
partprobe 同步分区表
cat /proc/partitions 查看系统识别的分区信息
使用分区
在使用硬盘之前必须对其分区进行格式化,并挂载
mkfs.xfs /dev/vdb1 初始化
mount /dev/vdb5 /mnt 临时挂载
vim /etc/fstab开机自动挂载策略文件 永久挂载
/dev/vdb1 /mnt xfs defaults 0 0
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
mount -a 使/etc/fstab中记录的挂载策略生效
swap
1.fdisk /dev/vdb #分区 临时挂载
2.fdisk 中使用t修改swap分区标识
3.mkswap /dev/vdbn 初始化
4.swapon -a /dev/vdbn 启动新的swap分区
5.永久挂载
vim /etc/fstab
添加
/dev/vdbn swap swap defaults,pri=1 0 0
6.删除swap
vim /etc/fstab 删除语句
swapoff /dev/vdb2
要先停止swap 分区,再删除swap分区
fdisk /dev/vdb
修改磁盘配额
先挂载再改权限
mount -o usrquota /dev/vdb1 /pub
quotaon -uv /dev/vdb1
edquota -u student 给student用户的配额
-u : 编辑user的quota
-g : 编辑group的quota
-t : 编辑宽限时间
-p : 复制quota资料到另一用户上
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 102400 0 40000 1 0 0
blocks :目前使用者(quota:uid=5011)在/dev/hda7所使用的空间,单位:KB
soft :soft limit 磁盘空间限定值 单位:KB (需要设定)
hard :hard limit 磁盘空间限定值 单位: KB (需要设定)
inodes :目前使用者使用掉的inodes,由于不容易使用inode控制,所以不要修改它。
soft :soft limit 文件限制数量 (根据需要修改)
hard :hard limit 文件限制数量 (根据需要修改)
soft limit :最低限制容量,在宽限期(grace period)之内,使用容量可以超过soft limit,但必须在宽限期之内将使用容量降低到soft limit以下。
hard limit :最终限制容量,如果使用者在宽限期内继续写入数据,到达hard limit将无法再写入。
宽限时间:使用容量超过soft limit,宽限时间自动启动,使用者将容量降低到soft limit以下,宽限时间自动关闭,如果使用者没有在宽限时间内将容量降低到soft limit,那么他将无法再写入数据,即使使用容量没有到达hard limit
quota 查看用户配额
repquota -a root 查看该用户所有配额
Disk quotas for user student (uid 1000):
Filesystem blocks quota limit grace files quota limit grace
/dev/vdb1 102400* 0 102400 1 0 0
永久配额
vim /etc/fatab
/dev/vdb7 /public xfs defaults,usrquota 0 0
写在最后,如果大家喜欢linux运维方面的知识,欢迎关注本博主,会每周更新与linux运维相关的一些小知识,帮助大家入门
愿你与我一同成长!
往期:
https://blog.csdn.net/Stella_Pooter/article/details/83111320 Linux运维入门~11.网络设置与路由器
https://blog.csdn.net/Stella_Pooter/article/details/83116835 Linux运维入门~12.DHCP服务配置
https://blog.csdn.net/Stella_Pooter/article/details/83273956 Linux运维入门~13.如何让你的虚拟机联网及DNS设置
https://blog.csdn.net/Stella_Pooter/article/details/83303100 Linux运维入门~14.虚拟机的安装及使用
https://blog.csdn.net/Stella_Pooter/article/details/83311261 Linux运维入门~15.yum源配置
https://blog.csdn.net/Stella_Pooter/article/details/83508184 Linux运维入门~16.网络yum源配置,第三方yum源配置,rpm命令使用
https://blog.csdn.net/Stella_Pooter/article/details/83536719 Linux运维入门~17.自动化安装虚拟机
https://blog.csdn.net/Stella_Pooter/article/details/83583245 Linux运维入门~18.ftp服务配置
https://blog.csdn.net/Stella_Pooter/article/details/83787238 Linux运维入门~19.selinux管理
https://blog.csdn.net/Stella_Pooter/article/details/83791596 Linux运维入门~20.系统定时任务与临时文件
Never say die