理论:磁盘管理与文件系统
[TOC]
前言:
服务器如果插入磁盘,如何对磁盘进行配置,分区,使用
一:磁盘基础
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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 4.0K 199M 1% /run/user/42tmpfs tmpfs 199M 36K 199M 1% /run/user/0这里加几块磁盘,然后重启系统,让系统识别到新增磁盘
[root@localhost ~]# init 6 重启系统[root@localhost ~]# cd /[root@localhost /]# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib media opt root sbin sys usr[root@localhost /]# cd /dev 切换到设备目录中[root@localhost dev]# ls 新增磁盘sdb,sdc,sddagpgart hugepages random tty1 tty32 tty55 vcs2autofs hwrng raw tty10 tty33 tty56 vcs3block initctl rfkill tty11 tty34 tty57 vcs4bsg input rtc tty12 tty35 tty58 vcs5btrfs-control kmsg rtc0 tty13 tty36 tty59 vcs6bus log sda tty14 tty37 tty6 vcsacdrom loop-control sda1 tty15 tty38 tty60 vcsa1centos lp0 sda2 tty16 tty39 tty61 vcsa2char lp1 sdb tty17 tty4 tty62 vcsa3console lp2 sdc tty18 tty40 tty63 vcsa4core lp3 sdd tty19 tty41 tty7 vcsa5cpu mapper sg0 tty2 tty42 tty8 vcsa6cpu_dma_latency mcelog sg1 tty20 tty43 tty9 vfiocrash mem sg2 tty21 tty44 ttyS0 vga_arbiterdisk mqueue sg3 tty22 tty45 ttyS1 vhcidm-0 net sg4 tty23 tty46 ttyS2 vhost-netdm-1 network_latency shm tty24 tty47 ttyS3 vmcidm-2 network_throughput snapshot tty25 tty48 uhid vsockdri null snd tty26 tty49 uinput zerofb0 nvram sr0 tty27 tty5 urandomfd oldmem stderr tty28 tty50 usbmon0full port stdin tty29 tty51 usbmon1fuse ppp stdout tty3 tty52 usbmon2hidraw0 ptmx tty tty30 tty53 vcshpet 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 extendedSelect (default p): Using default response p分区号 (2-4,默认 2):起始 扇区 (20973568-41943039,默认为 20973568):将使用默认值 20973568Last 扇区, +扇区 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 extendedSelect (default p): e 选择创建逻辑分区分区号 (2-4,默认 2):2起始 扇区 (20973568-41943039,默认为 20973568):将使用默认值 20973568Last 扇区, +扇区 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):将使用默认值 20975616Last 扇区, +扇区 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,sdb5agpgart hugepages random stdout tty3 tty52 usbmon2autofs hwrng raw tty tty30 tty53 vcsblock initctl rfkill tty0 tty31 tty54 vcs1bsg input rtc tty1 tty32 tty55 vcs2btrfs-control kmsg rtc0 tty10 tty33 tty56 vcs3bus log sda tty11 tty34 tty57 vcs4cdrom loop-control sda1 tty12 tty35 tty58 vcs5centos lp0 sda2 tty13 tty36 tty59 vcs6char lp1 sdb tty14 tty37 tty6 vcsaconsole lp2 sdb1 tty15 tty38 tty60 vcsa1core lp3 sdb2 tty16 tty39 tty61 vcsa2cpu mapper sdb5 tty17 tty4 tty62 vcsa3cpu_dma_latency mcelog sdc tty18 tty40 tty63 vcsa4crash mem sdd tty19 tty41 tty7 vcsa5disk mqueue sg0 tty2 tty42 tty8 vcsa6dm-0 net sg1 tty20 tty43 tty9 vfiodm-1 network_latency sg2 tty21 tty44 ttyS0 vga_arbiterdm-2 network_throughput sg3 tty22 tty45 ttyS1 vhcidri null sg4 tty23 tty46 ttyS2 vhost-netfb0 nvram shm tty24 tty47 ttyS3 vmcifd oldmem snapshot tty25 tty48 uhid vsockfull port snd tty26 tty49 uinput zerofuse ppp sr0 tty27 tty5 urandomhidraw0 ptmx stderr tty28 tty50 usbmon0hpet pts stdin tty29 tty51 usbmon1[root@localhost dev]# mkfs -t xfs /dev/sdb1 给/dev/sdb1格式化,文件系统类型设置为xfsmeta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =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]# lstest.txt[root@localhost abc01]# cat test.txtthis 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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.0M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 12K 199M 1% /run/user/42tmpfs 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 /]# lsabc01 bin dev home lib64 mnt proc run srv tmp varabc02 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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 8.0K 199M 1% /run/user/42tmpfs 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 kBMemFree: 835008 kBMemAvailable: 1129688 kBBuffers: 2128 kBCached: 417820 kBSwapCached: 0 kBActive: 636976 kBInactive: 347816 kBActive(anon): 565792 kBInactive(anon): 8624 kBActive(file): 71184 kBInactive(file): 339192 kBUnevictable: 0 kBMlocked: 0 kBSwapTotal: 2097148 kBSwapFree: 2097148 kBDirty: 0 kBWriteback: 0 kBAnonPages: 564864 kBMapped: 125144 kBShmem: 9572 kBSlab: 85956 kBSReclaimable: 32120 kBSUnreclaim: 53836 kBKernelStack: 8544 kBPageTables: 29040 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitLimit: 3113092 kBCommitted_AS: 3092732 kBVmallocTotal: 34359738367 kBVmallocUsed: 196860 kBVmallocChunk: 34359310332 kBHardwareCorrupted: 0 kBAnonHugePages: 247808 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 89984 kBDirectMap2M: 2007040 kBDirectMap1G: 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 kBSwapTotal: 2097148 kBSwapFree: 2097148 kB 没变化[root@localhost /]# swapon /dev/sdb5 swapon 开启虚拟内存[root@localhost /]# cat /proc/meminfo | grep Swap* 再次查看SwapCached: 0 kBSwapTotal: 3145720 kB 增加了SwapFree: 3145720 kB[root@localhost /]# swapoff /dev/sdb5 swapoff 关闭虚拟没存[root@localhost /]# cat /proc/meminfo | grep Swap* 再次查看SwapCached: 0 kBSwapTotal: 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 atthe 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 kBSwapTotal: 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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 8.0K 199M 1% /run/user/42tmpfs 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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 8.0K 199M 1% /run/user/42tmpfs 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 0UUID=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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 8.0K 199M 1% /run/user/42tmpfs 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挂载到/mntmount: /dev/sr0 写保护,将以只读方式挂载[root@localhost dev]# ls /mnt 查看被挂载目录CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7EFI images Packages RPM-GPG-KEY-CentOS-Testing-7EULA 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% /devtmpfs tmpfs 993M 0 993M 0% /dev/shmtmpfs tmpfs 993M 9.1M 984M 1% /runtmpfs 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% /hometmpfs tmpfs 199M 8.0K 199M 1% /run/user/42tmpfs 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 源目录或者目标挂载点,自动挂载的就删掉对应的信息即可。