理论:磁盘管理与文件系统
[TOC]
主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、微网站、小程序设计等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都做网站、网站制作、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。
前言:
服务器如果插入磁盘,如何对磁盘进行配置,分区,使用
一:磁盘基础
1.1 磁盘结构
1)硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面
- 磁头:每面一个磁头
2)硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
磁道:同一盘片不同半径的同心圆
- 柱面:不同盘片相同半径构成的圆柱面
即多个扇区组成磁道,多个相同直径的磁道组成柱面
3)磁盘尺寸环境
制作磁盘环境是无尘环境,磁盘不可以打开,打开就会失效废掉
笔记本磁盘尺寸:面积2.5英寸,一个是7mm厚度,一个是9.5mm厚度;7mm是单片磁盘,9mm是双片磁盘
台式机磁盘尺寸:面积3.5英寸
ssd硬盘:2.5英寸 7mm厚度
m.2硬盘需要看主板是否有接口
- 固态硬盘:电子芯片存储,速度快,数据丢失无法恢复
- 机械硬盘:磁盘存储,速度慢,数据丢失有几率恢复
4)硬盘存储容量
硬盘存储容量=磁头数磁道(柱面)数每道扇区数*每扇区字节数(512字节)
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
磁盘接口类型:
IDE(并口),现在已经退出市场
SATA(串口) 最常见,目前最常用的是sataⅢ
- SCSI接口,服务器专用
磁盘上面的接口有两个
小接口是电源接口,大接口口是数据传输接口
1.2 MBR与磁盘分区表示
1)主引导记录(MBR:Master Boot Record)
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表,是硬盘的目录索引
- 分区表有4个分区记录区,每个分区记录去占16个字节
2)Linux中将硬盘、分区等设备均表示为文件
MBR类型的硬盘有四个主分区, GPT类型的有128主分区
1.3 磁盘分区结构
硬盘中的主分区数目只有4个
因此主分区和扩展分区的序号也就限制在1~4
扩展分区不起直接存储数据的功能,可以再往下级分为逻辑分区
- 逻辑分区的序号将始终从5开始
蓝色是主分区,绿色代表扩展分区,绿色里面是逻辑分区
1.4 文件系统类型
1)XFS文件系统
存放文件和目录数据的分区
高性能的日志型文件系统
- CentOS 7 系统中默认使用的文件系统
2)SWAP,交换文件系统
- 为Linux系统建立交换分区
3)Linux支持的其它文件系统类型
FAT16、FAT32、NTFS
- EXT4、JFS......
XFS文件格式支持1PB存储容量
SWAP,即虚拟内存
FAT系列没有安全性
EXT3 是centos 5版本时使用
EXT4,是centos 6 版本时使用
JFS用的少
二:检测并确认新磁盘,规划硬盘中的分区命令
2.1 fdisk命令 创建分区
1)查看或管理磁盘分区命令
fdisk -l 【磁盘设备】
或
fdisk 【磁盘设备】
2)交互模式中的常用指令选项
选项 | 含义 |
---|---|
-l | list含义,查看当前磁盘分区信息 ;若是后面加设备磁盘,则只查看目标磁盘 |
m | 查看帮助信息 |
p | 打印,显示的意思 |
n | 创建新分区 |
d | 删除分区 |
t | 转换文件系统类型格式 |
w | 保存配置 |
q | 退出 |
三:创建文件系统
3.1 mkfs命令 (分区后,进行格式化命令)
Make Filesystem,创建文件系统(格式化)
- mkfs -t 文件系统类型 分区设备
命令示例:
mkfs -t xfs /dev/sdb1
- mkfs.xfs /dev/sdb1
3.2 mkswap命令(格式化后,创建虚拟内存)
make swap,创建交换文件系统
- mkswap 分区设备
五:挂载、卸载文件系统
5.1 mount挂载命令
- 挂载文件系统、ISO镜像到指定文件夹目录
- mount 【-t】 存储设备 挂载点目录
- mount -o loop ISO镜像文件 挂载点目录
5.2 umount 取消挂载命令
卸载已挂载的文件系统
umount 文件位置
- umount 挂载点目录
5.2 设置文件系统的自动挂载
/etc/fstab 配置文件
包含需要开机后自动挂载的文件系统记录
defaults部分 代表权限功能,
第五个0 是否启用容灾,即备份,0=否,1=是
第六个0 代表加载序列,第几个被加载
5.3 查看磁盘使用情况 df命令
df 【选项】 【文件】
六:实操
[root@localhost ~]# fdisk -l 查看当前系统磁盘设备
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a55e9
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 12584959 6291456 83 Linux *代表有引导文件,即MBR
/dev/sda2 12584960 79710207 33562624 8e Linux LVM LVM逻辑分区
磁盘 /dev/mapper/centos-root:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# df -hT 查看磁盘使用情况
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 4.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 36K 199M 1% /run/user/0
这里加几块磁盘,然后重启系统,让系统识别到新增磁盘
[root@localhost ~]# init 6 重启系统
[root@localhost ~]# cd /
[root@localhost /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]# cd /dev 切换到设备目录中
[root@localhost dev]# ls 新增磁盘sdb,sdc,sdd
agpgart hugepages random tty1 tty32 tty55 vcs2
autofs hwrng raw tty10 tty33 tty56 vcs3
block initctl rfkill tty11 tty34 tty57 vcs4
bsg input rtc tty12 tty35 tty58 vcs5
btrfs-control kmsg rtc0 tty13 tty36 tty59 vcs6
bus log sda tty14 tty37 tty6 vcsa
cdrom loop-control sda1 tty15 tty38 tty60 vcsa1
centos lp0 sda2 tty16 tty39 tty61 vcsa2
char lp1 sdb tty17 tty4 tty62 vcsa3
console lp2 sdc tty18 tty40 tty63 vcsa4
core lp3 sdd tty19 tty41 tty7 vcsa5
cpu mapper sg0 tty2 tty42 tty8 vcsa6
cpu_dma_latency mcelog sg1 tty20 tty43 tty9 vfio
crash mem sg2 tty21 tty44 ttyS0 vga_arbiter
disk mqueue sg3 tty22 tty45 ttyS1 vhci
dm-0 net sg4 tty23 tty46 ttyS2 vhost-net
dm-1 network_latency shm tty24 tty47 ttyS3 vmci
dm-2 network_throughput snapshot tty25 tty48 uhid vsock
dri null snd tty26 tty49 uinput zero
fb0 nvram sr0 tty27 tty5 urandom
fd oldmem stderr tty28 tty50 usbmon0
full port stdin tty29 tty51 usbmon1
fuse ppp stdout tty3 tty52 usbmon2
hidraw0 ptmx tty tty30 tty53 vcs
hpet pts tty0 tty31 tty54 vcs1
[root@localhost dev]# fdisk -l 查看磁盘情况 相较于之前增加了sdb,sdc,sdd
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a55e9
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 12584959 6291456 83 Linux
/dev/sda2 12584960 79710207 33562624 8e Linux LVM
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-root:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost dev]# fdisk /dev/sdb 给sdb磁盘创建分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。 让我们三思,不要慌
Device does not contain a recognized partition table
使用磁盘标识符 0x8d45b52c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n n创建新分区
Partition type:
p primary (0 primary, 0 extended, 4 free) p代表主分区
e extended e代表扩展分区
Select (default p): p 一块磁盘创建基本分区时,必须要先创建一个p主分区
分区号 (1-4,默认 1):1 分区号为1,保持默认的话点回车就可以,从这里也可以发先这块磁盘是MBR类型
起始 扇区 (2048-41943039,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G 这里添加10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB 设置完毕
命令(输入 m 获取帮助):n 再次创建
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Linux 类型,大小设为 10 GiB 完毕
命令(输入 m 获取帮助):p 查看该磁盘信息
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux Blocks中10485760的单位是KB Id中的83代表默认的xfs文件格式
/dev/sdb2 20973568 41943039 10484736 83 Linux
命令(输入 m 获取帮助):m 查看帮助
命令操作
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 创建一个新的空GPT分区表
G create an IRIX (SGI) partition table 创建一个IRIX (SGI)分区表
l list known partition types 列出分区类型
m print this menu 列出帮助信息
n add a new partition 添加新分区
o create a new empty DOS partition table 创建一个新的空DOS分区表
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) 额外功能(仅限专家使用)
命令(输入 m 获取帮助):d 删除分区
分区号 (1,2,默认 2):2 删除2
分区 2 已删除
命令(输入 m 获取帮助):p 查看分区信息
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
命令(输入 m 获取帮助):n 重新创建新磁盘
Partition type:
p primary (1 primary, 0 extended, 3 free) 一个主分区,0个逻辑分区,3个空闲
e extended
Select (default p): e 选择创建逻辑分区
分区号 (2-4,默认 2):2
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+5G 容量设置为5G
分区 2 已设置为 Extended 类型,大小设为 5 GiB 设置完毕
命令(输入 m 获取帮助):p 依旧查看信息
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 31459327 5242880 5 Extended extended就是指扩展分区。Id5代表extended的文件格式
命令(输入 m 获取帮助):n 在创建扩展分区的基础上继续创建新分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5) 代表逻辑分区
Select (default p): e 尝试再创建扩展分区
无效的分区类型“e” 反馈无法创建
命令(输入 m 获取帮助):n 重新创建
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l 创建逻辑分区
添加逻辑分区 5 自动分配分区号
起始 扇区 (20975616-31459327,默认为 20975616):
将使用默认值 20975616
Last 扇区, +扇区 or +size{K,M,G} (20975616-31459327,默认为 31459327):+1G 作演示,容量设为1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB 创建完成
命令(输入 m 获取帮助):p 再次查看此时的创建情况
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 31459327 5242880 5 Extended
/dev/sdb5 20975616 23072767 1048576 83 Linux
命令(输入 m 获取帮助):w w保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost dev]# fdisk -l 查看磁盘使用情况(每个人的磁盘情况不一定完全一样,这里我只截取配置的磁盘)
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a55e9
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 12584959 6291456 83 Linux
/dev/sda2 12584960 79710207 33562624 8e Linux LVM
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 刚才操作的磁盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 31459327 5242880 5 Extended 扩展分区(细心的可以看一眼Start和End,可以发现一个细节)
/dev/sdb5 20975616 23072767 1048576 83 Linux
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost dev]# ls 查看dev内设备信息,可以发现相较之前增加了sdb1,sdb2,sdb5
agpgart hugepages random stdout tty3 tty52 usbmon2
autofs hwrng raw tty tty30 tty53 vcs
block initctl rfkill tty0 tty31 tty54 vcs1
bsg input rtc tty1 tty32 tty55 vcs2
btrfs-control kmsg rtc0 tty10 tty33 tty56 vcs3
bus log sda tty11 tty34 tty57 vcs4
cdrom loop-control sda1 tty12 tty35 tty58 vcs5
centos lp0 sda2 tty13 tty36 tty59 vcs6
char lp1 sdb tty14 tty37 tty6 vcsa
console lp2 sdb1 tty15 tty38 tty60 vcsa1
core lp3 sdb2 tty16 tty39 tty61 vcsa2
cpu mapper sdb5 tty17 tty4 tty62 vcsa3
cpu_dma_latency mcelog sdc tty18 tty40 tty63 vcsa4
crash mem sdd tty19 tty41 tty7 vcsa5
disk mqueue sg0 tty2 tty42 tty8 vcsa6
dm-0 net sg1 tty20 tty43 tty9 vfio
dm-1 network_latency sg2 tty21 tty44 ttyS0 vga_arbiter
dm-2 network_throughput sg3 tty22 tty45 ttyS1 vhci
dri null sg4 tty23 tty46 ttyS2 vhost-net
fb0 nvram shm tty24 tty47 ttyS3 vmci
fd oldmem snapshot tty25 tty48 uhid vsock
full port snd tty26 tty49 uinput zero
fuse ppp sr0 tty27 tty5 urandom
hidraw0 ptmx stderr tty28 tty50 usbmon0
hpet pts stdin tty29 tty51 usbmon1
[root@localhost dev]# mkfs -t xfs /dev/sdb1 给/dev/sdb1格式化,文件系统类型设置为xfs
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost dev]# mkdir /abc01/ 在这里先创建一个目录abc01,用以挂载sdb1
[root@localhost dev]# cd /
[root@localhost /]# cd /abc01 切换到abc01
[root@localhost abc01]# ls
[root@localhost abc01]# echo "this is test" > test.txt 创建一个测试文件
[root@localhost abc01]# ls
test.txt
[root@localhost abc01]# cat test.txt
this is test
[root@localhost abc01]# mount /dev/sdb1 /abc01 把/dev/sdb1X磁盘挂载到/abc01目录下
[root@localhost abc01]# df -Th 查看当前目录挂载情况
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.0M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 12K 199M 1% /run/user/42
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 xfs 10G 33M 10G 1% /abc01 已挂载成功
[root@localhost abc01]# ls -a 此时查看abc01,发现没有文件
[root@localhost abc01]# echo "this is test1" > test1.txt 创建第二个测试文件test1
[root@localhost abc01]# ls -a 查看,存在test1
. .. test1.txt
[root@localhost abc01]# umount /abc01 取消挂载/abc01,或者umount /dev/sdb1也可以
umount: /abc01:目标忙。 在挂载目录内取消挂载这一操作无法执行,需要退出来
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@localhost abc01]# cd .. 切换到上一层目录
[root@localhost /]# umount /abc01 取消挂载/abc01目录
[root@localhost /]# ls -a /abc01 查看此时abc01内的文件,
. .. test.txt 是没有挂载之前的测试文件test
[root@localhost /]# mkdir abc02 创建一个abc02目录
[root@localhost /]# ls
abc01 bin dev home lib64 mnt proc run srv tmp var
abc02 boot etc lib media opt root sbin sys usr
[root@localhost /]# mount /dev/sdb1 /abc02 把/dev/sdb1 挂载到/abc02目录上
[root@localhost /]# df -Th 查看挂载情况
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 20K 199M 1% /run/user/0
/dev/sdb1 xfs 10G 33M 10G 1% /abc02
[root@localhost /]# ls -a /abc02 查看挂载目录
. .. test1.txt 为第二个测试文件test1
此时可以发现把A目录挂载到B目录时,若是B目录中已有文件,则挂载操作会把B目录的已有文件覆盖,但是并不会删除;在挂载状态下创建的文件,即使再解除挂载也依旧存在,因为解除挂载并不代表文件删除。在解除挂载后,A目录的原有文件会恢复显示,B目录中的文件也可以继续查看
[root@localhost /]# cat /proc/meminfo 查看/proc/meminfo存储信息表
MemTotal: 2031888 kB
MemFree: 835008 kB
MemAvailable: 1129688 kB
Buffers: 2128 kB
Cached: 417820 kB
SwapCached: 0 kB
Active: 636976 kB
Inactive: 347816 kB
Active(anon): 565792 kB
Inactive(anon): 8624 kB
Active(file): 71184 kB
Inactive(file): 339192 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 564864 kB
Mapped: 125144 kB
Shmem: 9572 kB
Slab: 85956 kB
SReclaimable: 32120 kB
SUnreclaim: 53836 kB
KernelStack: 8544 kB
PageTables: 29040 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 3113092 kB
Committed_AS: 3092732 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 196860 kB
VmallocChunk: 34359310332 kB
HardwareCorrupted: 0 kB
AnonHugePages: 247808 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 89984 kB
DirectMap2M: 2007040 kB
DirectMap1G: 0 kB
[root@localhost /]# cat /proc/meminfo | grep Swap* 可以用管道符号去检索自己想要的信息
SwapCached: 0 kB 缓存内存
SwapTotal: 2097148 kB 总内存
SwapFree: 2097148 kB 空闲内存
[root@localhost /]# mkswap /dev/sdb5 把sdb5磁盘设为虚拟内存
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=3b29ba74-4281-4114-8c38-97c4aa2190bd
[root@localhost /]# cat /proc/meminfo | grep Swap* 查看内存信息
SwapCached: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB 没变化
[root@localhost /]# swapon /dev/sdb5 swapon 开启虚拟内存
[root@localhost /]# cat /proc/meminfo | grep Swap* 再次查看
SwapCached: 0 kB
SwapTotal: 3145720 kB 增加了
SwapFree: 3145720 kB
[root@localhost /]# swapoff /dev/sdb5 swapoff 关闭虚拟没存
[root@localhost /]# cat /proc/meminfo | grep Swap* 再次查看
SwapCached: 0 kB
SwapTotal: 2097148 kB 恢复原状
SwapFree: 2097148 kB
这个是创建删除虚拟内存的相关命令,但是若是做成真正的swap需要进行格式的转化,sdb5的文件格式是83的xfs,需要先改成对应的文件类型再去执行maswap命令
[root@localhost /]# fdisk /dev/sdb 进入到创建sdb磁盘配置中
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p 查看磁盘信息
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 31459327 5242880 5 Extended
/dev/sdb5 20975616 23072767 1048576 83 Linux
命令(输入 m 获取帮助):t 修改磁盘的文件系统
分区号 (1,2,5,默认 5):5 要修改的磁盘对应的盘符
Hex 代码(输入 L 列出所有代码):l 可以先看一下
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):82 输入对应的代码
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):p 再次查看信息
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d45b52c
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 31459327 5242880 5 Extended
/dev/sdb5 20975616 23072767 1048576 82 Linux swap / Solaris 文件系统格式已被修改
命令(输入 m 获取帮助):w 保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost /]# mkswap /dev/sdb5 重新输入格式化swap分区命令
mkswap: /dev/sdb5: warning: wiping old swap signature. 这时出现了这一行特殊的提示反馈
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=7f25bd08-3ca0-4f50-8a9a-8e430c9b084d
[root@localhost /]# swapon /dev/sdb5 开启设备
[root@localhost /]# cat /proc/meminfo | grep Swap* 检索内存信息
SwapCached: 0 kB
SwapTotal: 3145720 kB 已增加虚拟内存
SwapFree: 3145720 kB
[root@localhost /]# df -hT 查看已挂载信息
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 20K 199M 1% /run/user/0
/dev/sdb1 xfs 10G 33M 10G 1% /abc02
[root@localhost /]# umount /abc02 取消挂载/abc02
[root@localhost /]# df -Th 查看已挂载信息,此时可以发现/abc02并没有被挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 20K 199M 1% /run/user/0
接下来学习如何自动挂载,利用自动挂载的配置文件/etc/fstab,vim编辑其中配置
[root@localhost /]# vim /etc/fstab
进入vim编辑
#
# /etc/fstab
# Created by anaconda on Wed Oct 23 13:35:20 2019
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=bef26af3-cd25-4754-bbc6-abd7fb09ef45 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /abc02 xfs defaults 0 0 在配置这条条目时,每个信息要用制表符tab键分隔
~
~
~
:wq 保存退出
[root@localhost /]# mount -a 全部设备重新加载,省去了关机重启的这一步骤
[root@localhost /]# df -Th 可以发现/dev/sdb1被自动加载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 20K 199M 1% /run/user/0
/dev/sdb1 xfs 10G 33M 10G 1% /abc02
使用mount命令去挂载光驱,首要的前提是先把镜像文件先放入到光驱内,光驱盘在/dev/sr0内
[root@localhost dev]# mount /dev/sr0 /mnt 把dev/sr0挂载到/mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost dev]# ls /mnt 查看被挂载目录
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@localhost dev]# df -Th 查看挂载信息,可以发现挂载镜像文件的文件类型为iso9660
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 977M 0 977M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 9.1M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 161M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 50M 10G 1% /home
tmpfs tmpfs 199M 8.0K 199M 1% /run/user/42
tmpfs tmpfs 199M 20K 199M 1% /run/user/0
/dev/sdb1 xfs 10G 33M 10G 1% /abc02
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
总结:
1.管理磁盘和分区 (划区,配置磁盘属性)
第一步插入磁盘,然后重启读取到磁盘,接着fdisk -l查看是否被读取到,被读取到,就可以fdisk 【磁盘名称】去给磁盘划区,配置磁盘的容量,是什么分区,文件类型配置,然后保存退出
2.创建文件系统(格式化,可使用)
第二步mkfs格式化磁盘,格式化虚拟内存磁盘有一个专有的命令式mkswap
3.挂载、卸载文件系统
第三步把格式化之后的磁盘进行挂载,方便使用;挂载有手动挂载和自动挂载,手动挂载mount 源目录 目标挂载点 自动挂载就是把相关配置属性写入到/etc/fstab配置文件内,以后开机就会自启动,或者mount -a 也可以全部重新挂载;取消挂载是umount 源目录或者目标挂载点,自动挂载的就删掉对应的信息即可。
分享文章:理论:磁盘管理与文件系统
浏览地址:http://hbruida.cn/article/jocdsh.html