温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-03 03:07:04 来源:网络 阅读:451 作者:wx5d8a17c45cb5b 栏目:系统运维

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

一、前言

管理磁盘是管理员的重要工作内容,本文主要介绍以下几个方面

  1. 磁盘结构及分区表示
  2. 管理磁盘及分区
  3. 管理文件系统

二、磁盘(无尘环境制造)结构及分区

1.物理结构

  1. 盘片:硬盘有多个盘片,每盘片2面
  2. 磁头:每面有一个磁头

2.数据结构

  1. 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
  2. 磁道:同一盘片不同半径的同心圆
  3. 柱面:不同盘片相同半径构成的圆柱面

多个扇区组成磁道,多个相同直径的磁道组成柱面

笔记本的磁盘一般是2.5英寸,7mm厚度和9.5mm厚度,台式机一般是3.5英寸,SSD 2.5英寸 厚度7mm ,固态硬盘,电子芯片存储,数据丢失无法恢复,速度快。

3.存储容量=磁头数柱面每道扇区数*每扇区字节数

4.磁盘接口类型

  1. IDE 基本不用
  2. SATA 目前是SATA3
  3. SCSI 服务器专用的

5.MBR与磁盘分区表示

MBR最多4个分区,GPT支持128分区

1)主引导记录

  1. MBR位于硬盘第一个物理扇区处
  2. MBR中包含硬盘的主引导程序和硬盘分区表
  3. 分区表有4个分区记录区,每个分区记录占16字节

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

/dev/hda5 hd——IDE设备接口 ,sd——SCSI设备 a——第一块 5——序列号

3)磁盘分区结构

硬盘中的主分区2数目只有四个主分区和扩展分区的序号为1~4

扩展分区(MBR必须有一个主分区才可以创建主分区)可以分为逻辑分区,序号从5开始

三、文件系统

1.文件系统类型

1)XFS文件系统

高性能的日志文件系统,擅长处理大文件,支持百万级T字节的存储空间。

存放文件和目录数据的分区,有日志功能,宕机也可以进行数据恢复

2)swap

SWAP,交换文件系统——用于Linux系统建立交换分区,相当于虚拟内存,缓解物理内存不足的问题(但是有上限,只是缓解,而不是解决)该区不用于直接存储用户的文件和目录等数据!!!

3)Linux支持的其他文件系统类型

FAT16、FAT32(不安全)、NTFS

EXT4(Centos6) EXT3(Centos5)

四、管理磁盘、分区及文件系统

1.lsblk命令

用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息

2.检测并确认新硬盘——分区

fdisk命令——(fdisk -l )查看或(fdisk 设备)管理磁盘分区

交互模式中的常用命令:m(帮助信息)、p(显示)、n(新建)、d(删除)、t(变更分区类型)、w(保存,考虑清楚操作)、q(不保存退出)

[root@lokott ~]# fdisk -l 磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a0791 设备 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 设备 *代表引导分区 起始位置 结束位置 分区大小(kb)系统ID号 分区类型 

3.格式化文件系统类型

  1. mkfs -t 文件系统类型(如xfs) 分区设备(/dev/sdbn,n表示序号)例如:mkfs -t xfs /dev/sdb1
  2. mkfs.xfs /dev/sdb1 mkfs一般用于格式化XFS、EXT4、FAT等不同类型的分区
  3. mkswap 格式化Swap交换分区

4.挂载

mount /dev/sdb1 /mnt

总结:首先我们要先添加一块到多块磁盘,在VMware上可以进行添加,后面给出具体操作,其次进行分区、格式化、挂载操作,但是目前挂载是一次有效,虚拟机重启后是无效的,需要手动操作进行再次挂载,这样是非常不方便的,所以下面介绍永久挂载的操作

5.永久挂载

  1. 在root用户下先vim /etc/fstab文件,
  2. 添加设备名称 挂载点 文件系统类型 文件权限功能(一般是defaults) 0 (容灾处理) 0(启动优先级,0表示正常顺序进行加载)
  3. 保存退出后,一般服务器是不能重启(宕机的),所以一般不会重启来使系统加载,而是使用mount -a命令进行挂载

6.查看磁盘使用情况

df -hT

具体操作过程如下:

(1)首先在VMware上添加三块新的硬盘

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

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

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

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

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

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

(2)重启Centos7

​ [root@lokott ~]# init 6

(3)lsblk查看块设备信息

[root@lokott ~]# lsblk //查看原本有sda,添加了sdb、sdc和sdd NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 6G 0 part /boot ├─sda2 8:2 0 20G 0 part / ├─sda3 8:3 0 4G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 10G 0 part /home sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sdd 8:48 0 20G 0 disk sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64 [root@lokott ~]# fdisk -l //也可以用fdisk -l 查看详细信息 磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a0791 设备 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 磁盘 /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 字节 

(4)fdisk /dev/sdn 进入交互模式下进行硬盘分区

[root@lokott ~]# fdisk /dev/sdb //分区操作开始 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0x4b4b9f25 创建新的 DOS 磁盘标签。 命令(输入 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 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 u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(输入 m 获取帮助):n //将硬盘分区,分出一个extend区来建立逻辑分区,但是必须先有主分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e 已选择分区 2 起始 扇区 (10487808-41943039,默认为 10487808): 将使用默认值 10487808 Last 扇区, +扇区 or +size{K,M,G} (10487808-20973567,默认为 20973567): 将使用默认值 20973567 分区 2 已设置为 Extended 类型,大小设为 5 GiB 命令(输入 m 获取帮助):w [root@lokott ~]# fdisk -l /dev/sdb //查看sdb硬盘信息 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x4b4b9f25 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 20973567 5242880 5 Extended /dev/sdb3 20973568 31459327 5242880 83 Linux /dev/sdb4 31459328 41943039 5241856 83 Linux /dev/sdb5 10489856 14684159 2097152 83 Linux /dev/sdb6 14686208 18880511 2097152 83 Linux /dev/sdb7 18882560 20973567 1045504 83 Linux 

(5)mkfs进行格式化操作

[root@lokott ~]# mkfs -t xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310720, 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 

(6)进行磁盘挂载并且用df -hT检查是否成功挂载

[root@lokott ~]# mkdir /sdb1_mount [root@lokott ~]# ls /sdb1_mount/ [root@lokott ~]# mount /dev/sdb1 /sdb1_mount/ [root@lokott ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 20K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb1 xfs 5.0G 33M 5.0G 1% /sdb1_mount 

注意!重启之后不会自动挂载的

[root@lokott ~]# init 6 Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(centos7-1) at 22:25:16. Type `help' to learn how to use Xshell prompt. [c:\~]$ Connecting to 192.168.189.133:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Fri Nov 1 22:26:01 2019 [root@lokott ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 16K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64

(8)设置永久挂载设置操作

[root@lokott ~]# cat /etc/fstab //查看一下文件的内容然后vim 写入命令 # # /etc/fstab # Created by anaconda on Wed Oct 23 12:15:45 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=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 / xfs defaults 0 0 UUID=4d632b10-c77d-438f-a9f4-8b4b0aeee9a9 /boot xfs defaults 0 0 UUID=a12d80a9-1b44-487a-996f-b57fbca184b5 /home xfs defaults 0 0 UUID=af672794-14a8-433a-a9c9-c3c263de9243 swap swap defaults 0 0 [root@lokott ~]# vim /etc/fstab [root@lokott ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Oct 23 12:15:45 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=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 / xfs defaults 0 0 UUID=4d632b10-c77d-438f-a9f4-8b4b0aeee9a9 /boot xfs defaults 0 0 UUID=a12d80a9-1b44-487a-996f-b57fbca184b5 /home xfs defaults 0 0 UUID=af672794-14a8-433a-a9c9-c3c263de9243 swap swap defaults 0 0 /dev/sdb1 /sdb1_mount xfs defaults 0 0 [root@lokott ~]# df -hT //添加之后一般是需要重启才会加载的,但是我们知道服务器 //一般是不允许允许宕机的,因此需要用mount -a使其立即生效 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda2 xfs 20G 4.5G 16G 23% / devtmpfs devtmpfs 474M 0 474M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 7.2M 481M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 158M 5.9G 3% /boot /dev/sda5 xfs 10G 37M 10G 1% /home tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42 tmpfs tmpfs 98M 20K 98M 1% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 [root@lokott ~]# mount -a [root@lokott ~]# df -hT | tail -1 /dev/sdb1 xfs 5.0G 33M 5.0G 1% /sdb1_mount [root@lokott ~]# 

小结:

在理解原理的基础上进行实际操作,需要多熟悉体会并且真正理解操作过程,巧用一些命令可以简化一些问题提高效率,例如上面的管道符号(|)的使用,可以更加直观地查看信息,提高效率。所以我们需要学以致用,多思多用。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI