Linux系统中的磁盘管理
##################################
1.本地存储设备的识别
fdisk -l | ##系统中存在的设备(存在的设备不一定能被识别) |
---|---|
cat /proc/partition | ##系统当中内核被识别的设备(内核被识别的设备不一定能用) |
blkid | ##系统中可使用的设备 |
df | ##系统正在挂载的设备 |
例:
<1>将自己的U盘插在电脑上,df查看系统中正挂载的设备,含有U盘
<2>查看系统中存在的设备
<3>查看系统中被识别的设备
<4>查看系统中可使用的设备
2.设备的挂载和卸载
(1)设备名称
/dev/xdx | ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb1 |
---|---|
/dev/sr0 | ##光驱 |
/dev/mapper/* | ##虚拟设备 |
(2)设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt ##挂载/dev/sdb1到/mnt
umount /dev/sdb1 | /mnt ##卸载
mount -o ro /dev/sdb1 /mnt ##只读挂载
mount ##查看挂载信息
mount -o remount,rw /dev/sdb1 /mnt ##重新读写挂载
例:
<1>将U盘挂在到/mnt/目录下,查看/mnt/中的内容,是U盘中的内容
<2>mount 查看挂载信息,即挂载的状态
如图所示:U盘的挂载为读写挂载
<3>mount /dev/sdb1 将U盘从/mnt/下卸载
再次卸载,U盘不在系统正在挂载的设备中
<4>将U盘只读挂载到/mnt/下,mount查看挂在信息,U盘为只读挂载
<5>切换到该目录下,在其中建立文件,建立不了,因为是只读类型
<6>mount -o remount,rw /dev/sdb1 /mnt 将U盘重新读写挂载,挂在后查看信息
(3)解决设备正忙的问题
切换到/mnt/(设备挂载点)打开另一shell卸载设备,出现设备正忙的报错
解决方法1:
fuser -v /mnt ##查看占用设备的进程
fuser -vm /mnt##总进程和子进程都显示,更详细
fuser -kvm /mnt##查看并杀死进程
umount /mnt 卸载
解决方法2:
lsof /mnt
查看占用/mnt/的进程号
kill -9 pid 杀死进程后再次卸载
例:
<1>先切换到/mnt/目录下,打开另一个shell卸载U盘,系统提示,/mnt/正忙
<2>fuser -v /mnt 查看占用设备的进程的pid
fuser -vm /mnt 查看占用进程的总进程和子进程pid
<3>lsof /mnt 查看占用设备的进程的pid
<4>fuser -kvm /mnt 查看进程的pid并结束进程,也可以使用kill -9 pid杀死进程
注:虚拟设备 系统中模拟出来的设备
umount后可接设备也可接挂载点
可以在挂载点看到设备中的内容
默认是读写挂载
退出挂载点卸载
只读挂载 重新挂载可更改状态
vm总进程和子进程都显示,更详细
kvm查看并杀死进程
#########################################################
系统受硬盘管理
0磁道 磁头停止的位置
引导磁头到某一位置后自动读取哪一部分的文件
引导程序 长度446字节
mbr 0磁道的1扇区
记录分区信息 mbr分区方式最多划分四个主分区
mpt 主分区表 64字节
记录的分区数目由分区的信息决定
若一个分区一个字节 记录64 个
2 32
4 16
8 8
16 4
32 2
64 1
2字节 硬盘的有效标示符 55 aa
一共512字节
逻辑分区 不是由分区表记录的
扩展分区 分区由主分区表记录并且是容器
扩展分区被删除所有的逻辑分区都会失效
容器不能直接使用
#######################################
3.分区步骤
(1)硬盘0磁道1扇区的512个字节中记录的信息如下
512=446 + 64 +2
<1>fdisk -l 查看可用设备
[root@server_sshd ~]# fdisk -lDisk /dev/vda: 10.7 GB, 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
Disk label type: dos
Disk identifier: 0x00013f3eDevice Boot Start End Blocks Id System
/dev/vda1 * 2048 20970332 10484142+ 83 LinuxDisk /dev/vdb: 10.7 GB, 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
<2>fdisk /dev/vdb 开始分区
[root@server_sshd ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).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
Building a new DOS disklabel with disk identifier 0x6eba3973.
<3>按m查看帮助|用法
Command (m for help): m
Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitiong create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)
<4>按n建立分区,系统会提示要建立p(主分区)还是e(扩展分区),默认是p,直接回车即可,再次回车,到选择大小时+想要的大小,建立完了可以p查看主分区表
Command (m for help): n ##新建
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): ##主分区
Using default response p
Partition number (1-4, default 1): ##id用默认
First sector (2048-20971519, default 2048): ##分区起始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M ##分区大小
Partition 1 of type Linux and of size 200 MiB is set
<5>重复以上建立步骤,建立三个分区后查看分区表,含有三个分区
查看分区表
<6>再次建立,系统只会提示e,只可以建立扩展分区,一直按回车,将剩下所有的大小分给扩展分区,保证所有的大小可用,建立后查看
<7>建立完扩展分区后继续建立,系统不会再提示类型,只可以建立逻辑分区
按回车继续,道选择分区大小时+输入自己想要的大小,建立完之后查看,现在有五个分区
<8>wq退出保存,如果只按q不会保存直接退出
Command (m for help): wq
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.
<9>退出后fdisk -l 查看存在的设备,现在存在五个设备,是刚刚建立的五个分区
自动文件系统挂载策略
4.给设备安装文件系统
<1>blkid查看系统中的可用设备
[root@server_sshd ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
<2>mkfs.xfs /dev/vdb5格式化设备,格式化了才可用
<3>格式化之后再次查看可用设备,显示有两个
<4>将刚刚添加的可用设备挂载到/mnt/下,
(临时挂载,关机重启后自动消失)卸载后mount -a ,df查看设备没有被挂载
<5>编辑文件vim /etc/fstab,
写入/dev/vdb5 /mnt xfs defaults 0 0
mount -a 自动挂载,挂载后df查看,有/dev/vdb5 设备
###########################################
同步分区表
-a 激活
-s 扫描
5.swap分区管理
(1)swap分区建立
<1>划分一个分区
查看分区表
更改分区类型
<2>设定分区标签82
再次查看分区表,信息改变
<3>退出保存后出现报错
<4>同步分区表
[root@server_sshd ~]# partprobe
查看被识别的设备
[root@server_sshd ~]# cat /proc/partitions
<5>格式化swap分区,blkid查看可用设备
<6>swapon -s,扫描swap分区,扫描不到
swapon -a /dev/vdb6 激活新建的swap分区后再次扫描可以扫描到
<7>编辑文件,永久设定
/dev/vdb6 swap swap defaults 0 0
[root@server_sshd ~]# vim /etc/fstab
(2)删除swap分区
<1>关闭swap分区,再次扫描没有swap分区,从文件中也删除
[root@server_sshd ~]# swapoff /dev/vdb6
[root@server_sshd ~]# swapon -s
[root@server_sshd ~]# vim /etc/fstab
<2>查看系统中存在的设备,swap分区仍然在
<3>删除swap分区
<4>同步分区表再次查看系统中存在的设备,没有swap分区
#####################################################
6.配额
<1>建立一个新的公共目录/pub/
[root@server_sshd ~]# mkdir /pub/
<2>卸载/mnt/
从文件中也删除或者注释
<3>将/dev/vdb5这个设备挂载到新建目录上
<4>更改目录的权限
[root@server_sshd ~]# chmod 1777 /pub/
[root@server_sshd ~]# ls -ld /pub/
drwxrwxrwt. 2 root root 6 Jan 22 06:09 /pub/
<5>切换到student用户,切换到/pub/路径下,在/pub/中占用空间,几次占用后会提示满额
<6>退出student用户后超级用户删除刚刚建立的所有文件,查看挂载状态,没有用户配额
[root@server_sshd pub]# rm -fr /pub/*
[root@server_sshd pub]# mount
<7>先卸载/pub/,加入用户配额再次挂载
[root@server_sshd ~]# umount /pub/
[root@server_sshd ~]# mount -o usrquota /dev/vdb5 /pub/
<8>设定限额的用户可用的额度
[root@server_sshd ~]# edquota -u student /dev/vdb5
edquota: user /dev/vdb5 does not exist.
将文件中的hard硬限设为20480K即20M
<9>切换到student用户,占用20M空间可以成功,21M出现报错,因为给student用户的配额只有20M
注:
先挂载再该权限
挂载时激活用户配额
blocks 的大小由系统统计
soft 警告
hard 硬限 单位k
inodes 用户在设备上的文件个数
个数的软限和硬限
配额时针对设备的,只在设置过配额的设备生效
用户在没有设置配额的设备上写入不会受到限制
#########################################
7.磁盘加密
加密后会覆盖原来的内容
设定之前将配额卸载
解密后的形态,原来的设备不可用
(1)设备加密
<1>加密前卸载设备,删除配额,在pub目录下建立文件
<2>给/dev/vdb5设备加密,输入大写的yes,设置密码
<3>加密后查看可用设备/dev/vdb5显示被加密
<4>挂载设备显示无法挂载
<5>打开加密设备之前先查看/dev/mapper目录,只有一个文件
<6>打开时给/dev/vdb5设备一个代号hello,输入密码
改变形态打开
<7>查看/dev/mapper 有两个文件,其中包括刚刚解密的hello
<8>初始化刚刚新解密的设备/dev/mapper/hello
<9>将设备挂载到/pub/目录下
<10>在目录中建立文件并编辑,目录中加密前的文件被覆盖
<11>卸载设备,恢复原来的形态cryptsetup close hello
<12>再次解密,新的代号可以改变,输入设定的密码,查看/pub/目录下文件的内容,和上一次解密时写入的一致,所以说代号不会改变解密后设备中的内容
<13>卸载设备,再次查看目录下的文件,是加密之前的文件
(2)加密磁盘的开机自动挂载
加密过的文件开机启动时会开不了,为了解决这一问题,可以在系统中将设备密码写入一个文件中,设置加密磁盘开机自动挂载
<1>在文件中写入
[root@server_sshd ~]# vim /etc/fstab
/dev/mapper/hello /pub xfs defaults 0 0
<2>建立并编辑任意文件,在文件中写入加密设备的密码
<3>
<4>给加密设备加钥匙
<5>重启虚拟机
<6>开机后df直接查看,加密设备被自动挂载
(3)删除加密和开机自动挂载
<1>将三个文件中的内容删除或注释
[root@server_sshd ~]# vim /etc/fstab
[root@server_sshd ~]# vim /root/disk_passwd
[root@server_sshd ~]# vim /etc/crypttab
<2>卸载设备
[root@server_sshd ~]# umount /pub/
<3>关闭加密形态
[root@server_sshd ~]# cryptsetup close hello
<4>再次初始化设备,系统提示要加-f强制初始化
[root@server_sshd ~]# mkfs.xfs /dev/vdb5
mkfs.xfs: /dev/vdb5 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.[root@server_sshd ~]# mkfs.xfs /dev/vdb5 -f
meta-data=/dev/vdb5 isize=256 agcount=4, agsize=32000 blks= sectsz=512 attr=2, projid32bit=1= crc=0
data = bsize=4096 blocks=128000, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
<5>reboot重启即可
###########################################
Linux系统中的磁盘管理相关推荐
- 15. Linux系统中的磁盘管理
Lesson15 Linux系统中的磁盘管理 文章目录 1. 什么是磁盘管理 2. 本地存储设备的识别 3. 设备的挂载和卸载 4. 解决设备正忙情况 5 磁盘分区 5.1 磁盘分区的基础知识 5.2 ...
- Linux系统中的软件管理
Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...
- linux系统中的日志管理
Linux系统中的日志管理 1 实验环境 2 journald日志服务 2.1 journalctl命令的用法 2.2 用journald服务永久存放日志 3 rsyslog日志服务 3.1 自定义日 ...
- linux系统创建操作系统用户,linux系统中用户组创建管理linux操作系统 -电脑资料...
用户组管理包括对用户组创建,删除,修改及查看组操作命令,下面我们一起来看看希望本文章对各位同学会有所帮助哦, 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod ...
- 在linux中 如何创建磁盘配额,如何在Linux系统中配置磁盘配额?
今天我们看看如何在Linux系统中配置磁盘配额,限制用户滥用空间.使用磁盘配额是相当简单的,对于限制那些过多占用磁盘空间的家伙很有用.而且,你还可以设置软配额和硬配额,软配额可以在某个用户接近其容量空 ...
- Linux系统中的进程管理
Linux系统中的进程管理 了解进程 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间: • 安全属性,包括所有权凭据和特权: • 程序代码的一个或多个执行线程: • ...
- Linux系统中的软件管理详解(下)—搭建网络软件仓库及第三方软件仓库
Linux系统中的软件管理详解(下) 5.软件仓库管理命令 a)dnf 命令: 管理软件仓库中的安装包 dnf repolist ##列出仓库信息clean all ##清除系统中已经加载的仓库缓存信 ...
- 12.linux系统中的软件管理
12.linux系统中的软件管理 1.Linux中软件包的类型 1.DEB UBlinux DEBlinux 2.RPM redhat centOS fadora 3.bz2|gz|xz 1)需要源码 ...
- 详解Linux系统中的软件管理及软件仓库
目录 一.Linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 总结 一.Linux中软件包的类型 DEB UEBlinux DEB ...
最新文章
- 表单和v-model
- Python+Django+Ansible Playbook自动化运维项目实战:资产管理
- 26 行 ABAP 代码使用 HTTP_GET 函数下载百度网站的首页数据
- [golang]如何看懂调用堆栈
- 大规模细粒度分类和特定领域的迁移学习
- python单引号双引号三引号_python中的单引号、双引号和三引号有何区别
- 黑客攻防技术宝典web实战篇:工具web服务器习题
- 蜂巢式技术阵营简化IoT蓝图
- 【ADS使用:PA的大信号仿真的基本设置】
- Java 读取扫描枪
- 7-46 新浪微博热门话题 (30 分)
- 闲谈寻址-DNS的多级缓存系统
- 英语写作翻译-形容词(一)
- 划分子网(计算机网络)
- python面向对象实验一之烤地瓜
- 科学型IT人才和工程型IT人才
- 三大运营商eSIM商用情况
- Eclipse中如何把自己写的方法封装成jar包供其他项目使用
- 一般过去时时态的to be动词_61
- 邮箱POP3/SMTP设置(发送邮箱问题汇总)