Linux 系统管理:磁盘管理与文件系统(详细操作过程,适合新手)

Linux 系统管理:磁盘管理与文件系统

目录:

前言
一、磁盘结构

2.1 磁盘结构

2.2 MBR与磁盘分区表示

2.3 磁盘分区结构

二、文件系统环境、交互模式常用指令
三、创建文件系统

3.1 格式化(mkfs命令)

3.2 创建交换文件系统(mkswap命令)

3.3 挂载、卸载文件系统(mount)

3.4设置文件系统的自动挂载

总结

前言:

磁盘基本概念:

每个硬件设备都会以一个文件的形式映射到/dev(设备文件)目录下,SCSI设备时sda、sdb等。

磁盘的分区
每一个硬盘设备,Linux分区分配1-16序列号码;有三个分区,分别为主分区,扩展分区,逻辑分区。
主分区:启动操作系统,存放启动系统和引导程序;
扩展分区:占用一个设备号,sd4;
逻辑分区:是拓展分区的具体表现;

Linux安装时一般选择ext3格式,这个文件格式存取效率高,是一种日志型文件系统,是GUN/Linux系统中标准的文件系统。当一个分区做成了ext3文件系统,使用时需要进行挂载,默认目录为/mnt,若需要再建其他目录为挂载点,光驱为只读系统。

swap分区
swap分区,即交换分区,系统在物理内存不够时,把物理内存中的一部分空间释放出来,以供当前使用;释放出来的空间是一些很长时间没有操作的程序,临时保存在swap分区中,等需要时从swap分区中恢复数据到内存中。
扩充一块swap空间,此操作是在“/”(根目录)下,只是显示操作步骤(尽量避免使用根分区)

一、磁盘结构
2.1 磁盘结构

硬盘的物理结构:

盘片 硬盘有多个盘面,每盘片有2面

磁头 每面一个磁头

硬盘的数据结构:
扇区:盘片被分为多个扇形区域,每个扇区存放512字节

磁道:同一盘片不同半径的同心圆

柱面:不同盘片相同半径构成的圆柱面
Linux 系统管理:磁盘管理与文件系统(详细操作过程,适合新手)_第1张图片

磁盘存储容量:

磁盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数

可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

磁盘接口类型:

IDE (并口)
SATA(串口)
scsi 服务器专用

2.2 MBR与磁盘分区表示

主引导记录(MBR:Master Boot Record)GPT最多可分128分区

1、MBR位于硬盘第一个物理扇区处 (第一个扇区一般用于引导,后面的

2、MBR中包含硬盘的主引导程序和硬盘分区表

3、分区表4个分区记录区,每个分区记录区站16个字节

Linux中将硬盘、分区等设备均表示为文件

/dev/hda5 结构:

hd是接口 IDE a是磁盘序列号(第几块磁盘)a往往是逻辑分区 5是分区
/dev 设备文件所在目录,hd表示IDE设备,sd表示scsi设备
Linux 系统管理:磁盘管理与文件系统(详细操作过程,适合新手)_第2张图片

2.3 磁盘分区结构

磁盘中的主分区数目只有4个

因此主分区和扩展分区的序号也就限制在1-4

扩展分区再分为逻辑分区

逻辑分区的序号将始终从5开始

二、文件系统类型、交互模式常用指令

XFS文件系统:
存放文件和目录数据的分区
高性能的日志型文件系统 PB
centos 7系统中默认使用的文件系统

swap 交换文件系统:
为Linux系统建立交换分区

Linux支持的其他文件系统类型:
EXT4 EXT3 是centos5和6的系统
FAT16 FAT32 NTFS
EXT4 JFS…………

交互模式常用指令:

检查并确认新硬盘:

fdisk命令 (我们先根据需要在虚拟机中添加磁盘)

查看或管理磁盘分区格式:

fdisk -l [磁盘设备] (查看磁盘分区)

fdisk [磁盘设备] (管理磁盘分区)

常用指令:
Linux 系统管理:磁盘管理与文件系统(详细操作过程,适合新手)_第3张图片

示例:

1、查看磁盘分区 fdisk -l /dev/sda

[root@localhost dev]# fdisk -l /dev/sda (查看sda磁盘分区)

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes  
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a2ffa

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    54527999    20971520   83  Linux
/dev/sda3        54528000    62916607     4194304   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

带有*的磁盘代表磁盘内有引导文件,可存储数据的分区,分区与逻辑分区

2、管理磁盘分区

新建第一个分区1,分配10G

命令(输入 m 获取帮助):n (创建新分区)
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p (选择主分区primary)
分区号 (1-4,默认 1):
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB

新建第二个分区,创建分区为FAT格式

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (20973568-83886079,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-83886079,默认为 83886079):+10G
分区 2 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):t (转换分区格式)
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):b (b代表FAT32格式)

WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.

已将分区“Linux”的类型更改为“W95 FAT32”

创建一个扩展分区,分配10G:

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e (e代表扩展分区)
分区号 (3,4,默认 3):
起始 扇区 (41945088-83886079,默认为 41945088):
将使用默认值 41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-83886079,默认为 83886079):+10G
分区 3 已设置为 Extended 类型,大小设为 10 GiB

创建一个逻辑分区 5

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l  (l代表逻辑分区)
添加逻辑分区 5
起始 扇区 (41947136-62916607,默认为 41947136):
将使用默认值 41947136
Last 扇区, +扇区 or +size{K,M,G} (41947136-62916607,默认为 62916607):
将使用默认值 62916607
分区 5 已设置为 Linux 类型,大小设为 10 GiB

最后显示配置列表:

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0a286e99

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
/dev/sdb2        20973568    41945087    10485760    b  W95 FAT32
/dev/sdb3        41945088    62916607    10485760    5  Extended
/dev/sdb5        41947136    62916607    10484736   83  Linux

最后保存配置:

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

格式ID查询命令:L

常用格式类型:

b:FAT32格式

fd:Linux raid 自动

82:swap

83:代表系统默认文件类型 ext4或xfs

(扩展分区Extended ID为5)

需注意:扩展分区不能直接用于存储

三、创建文件系统

4.1 格式化(mkfs命令)

Make Filesystem,创建文件系统(格式化)

格式:

mkfs -t 文件类型 分区设备 (-t type 转换成xxx格式,例如xfs。 分区设备常用/del/sdb1)例如:mkfs -t /dev/sdb1

或者

mkfs.xfs /dev/sdb1

示例:

[root@localhost dev]# mkfs.xfs /dev/sdb1
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]# 

3.2 创建交换文件系统(mkswap命令)

mkswap命令 (虚拟内存)

mske swap ,创建交换文件系统

swaptotal 虚拟内存

做成swap模式的时候需要对磁盘进行格式转换

格式:mkswap 分区设备

示例:

[root@localhost dev]# mkswap /dev/sdb5
mkswap: /dev/sdb5: warning: wiping old xfs signature.
正在设置交换空间版本 1,大小 = 10484732 KiB
无标签,UUID=86b9dc34-6f52-4933-86e0-d44135577d46

转换/dev/sdb5格式为swap

ps:cat /proc/meminfo 查看cpu、内存信息

我们可以进行过滤 grep -i “swap” /proc/meminfo*

示例:

[root@localhost dev]# grep -i "swap*" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       4194300 kB   /swap的总计空间
SwapFree:        4194300 kB

临时添加交换分区

swapon /dev/sdb5

示例:

[root@localhost dev]# swapon /dev/sdb5
[root@localhost dev]# grep -i "swap*" /proc/meminfo
SwapCached:            0 kB
SwapTotal:      14679032 kB   /临时增加10G空间
SwapFree:       14679032 kB

临时增加10G空间(增加量为原本sdb5的总计空间大小)

减少交换分区

swapoff /dev/sdb5

示例:

[root@localhost dev]# swapoff /dev/sdb5
[root@localhost dev]# grep -i "swap*" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       4194300 kB
SwapFree:        4194300 kB

减少了10G空间(减少量为原本sdb5的总计的空间大小)

3.3 挂载、卸载文件系统(mount)

mount命令

挂载文件系统、ISO镜像到指定文件夹

格式:mount [-t 类型] 存储设备 挂载点目录

mount -o loop ISO镜像文件 挂载点目录

示例:

我们现在/opt目录下创建demo01子目录,然后将sdb1挂载到/opt/demo01下:

[root@localhost dev]# mkdir /opt/demo01 (创建子目录)
[root@localhost dev]# ls /opt/
demo01  rh
[root@localhost dev]# mount /dev/sdb1 /opt/demo01   (将sdb1挂载到opt目录下的子目录demo01上)
[root@localhost dev]# df -hT  (查看挂载信息)
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.5G   16G   23% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
/dev/sda5      xfs        10G   38M   10G    1% /home
tmpfs          tmpfs     183M  4.0K  183M    1% /run/user/42
tmpfs          tmpfs     183M   24K  183M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1      xfs        10G   33M   10G    1% /opt/demo01
[root@localhost dev]# 

umount命令

卸载已挂载的文件系统

格式:umount 存储设备位置

或:umount 挂载点目录

示例:

[root@localhost dev]# cd ..  (回到父目录)
[root@localhost /]# umount /dev/sdb1  (接挂载)
[root@localhost /]# df -hT  (查看挂在信息)
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.5G   16G   23% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
/dev/sda5      xfs        10G   38M   10G    1% /home
tmpfs          tmpfs     183M  4.0K  183M    1% /run/user/42
tmpfs          tmpfs     183M   24K  183M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
[root@localhost /]# 

3.4设置文件系统的自动挂载

我们在操作文件挂载后,如果重启可能会导致失效(临时挂载),所以我们需要配置文件系统的自动挂载。

配置文件:/etc/fstab

包含需要开机后自动挂载的文件系统记录

示例:

[root@localhost opt]# vi /etc/fstab  编辑fstab文件

#
# /etc/fstab   (文件名)
# Created by anaconda on Sun Oct 27 15:47:27 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
#
UUID=1cdaa1f7-8d44-4a00-b153-b0ba1b763ba2 /                       xfs     defaults        0 0
UUID=32aee843-60bd-43b1-94f0-b9af529c2744 /boot                   xfs     defaults        0 0
UUID=07145df9-e2e8-4e89-b08e-1fa3aac7dfc4 /home                   xfs     defaults        0 0
UUID=13e8b5ea-7f99-4459-a180-8c11e6d3e543 swap                    swap    defaults        0 0
/dev/sdb1       /opt/demo01     xfs     defaults        0 0                                                 

其中“/dev/sdb1 /opt/demo01 xfs defaults 0 0 ”的含义:

dev/sdb1 :代表设备名称(按tab键切到下一个命令输入点)

/opt/demo01:代表挂载点 (按tab键切到下一个命令输入点)

xfs :代表文件系统类型(按tab键切到下一个命令输入点)

defaults:功能权限,rw(可读可写),ro(只读),exec(执行)

noexec(不允许执行)defaults(能都能写能执行)。(按tab键切到下一个命令输入点)

0:代表是否容灾备份(kump,可以被去掉。若为1则开启容灾 0则不开启) (按“空格”键切到下一个命令输入点)

0:启动检查序列 (0 不进行检查 1 优先进行检查 2 检查完1后再检查)

输入完成后保存退出,之后我们有两种方法可以让指令生效,第一种为重启,第二种使用mount -a(将所有的设备和挂载点重新挂载)。

示例:

[root@localhost dev]# vim /etc/fstab  (退出保存编辑)
[root@localhost dev]# df -hT   (查看挂载信息)
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.5G   16G   23% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   38M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     183M  4.0K  183M    1% /run/user/42
tmpfs          tmpfs     183M   20K  183M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64  (没有/etc/sdb1的挂载信息)
[root@localhost dev]# mount -a (将所有的设备和挂载点重新挂载)
[root@localhost dev]# df -hT (查询挂载点)
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.5G   16G   23% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   38M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     183M  4.0K  183M    1% /run/user/42
tmpfs          tmpfs     183M   20K  183M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1      xfs        10G   33M   10G    1% /opt/demo01  (最后一条为/dev/sdb1的挂载信息)

总结:

分区==》格式化==》挂载 挂载流程

首先我们在虚拟机中添加磁盘,用fdisk对磁盘进行分区。

分区后开始格式化文件系统的类型。

创建挂载点目录,将磁盘的分区进行挂载。

我们可以用df -hT查询挂载信息。

进入/etc/fstab 配置自动挂载,配置完成后使用mount -a 重新加载挂载,最后查询挂点信息。

你可能感兴趣的:(linux系统管理)