Linux磁盘管理

一、磁盘管理

1·磁盘为什么要做分区

管理数据 :通过将磁盘划分为多个分区,可以更好地组织和管理数据。每个分区可以独立地存储文件和操作系统数据,使得文件系统更加有序和高效。

提高性能 :将磁盘分为多个分区可以提高磁盘的读写性能。例如,可以将操作系统和常用程序放在一个分区中,将用户数据放在另一个分区中,这样可以减少磁盘头的移动距离,提高访问速度。

数据保护 :通过磁盘分区,可以将重要的数据与操作系统或其他应用程序隔离开来。如果某个分区发生问题或需要重新格式化,其他分区的数据仍然可以保持完好。

多操作系统支持 :磁盘分区还可以用于安装多个操作系统。每个操作系统可以被安装在不同的分区上,使得多个操作系统可以共存并且互不干扰。

管理存储空间 :通过磁盘分区,可以更好地管理存储空间。例如,可以将不同类型的数据存储在不同的分区中,以便更好地控制存储空间的使用和分配。

性能优化 :分区允许用户根据数据的访问频率和重要性来优化磁盘性能。例如,经常 访问的数据可以放在性能较高的分区上,而较少访问的数据可以放在性能较低的分区 上。

安全性 :通过分区,可以为重要的数据或系统文件提供额外的保护。例如,可以创建 一个 单独的分区来存储备份数据,这样即使主分区出现问题,备份数据仍然可以安 全地保留。此外,某些分区还可以设置加密或访问权限,以进一步提高数据的安全性。

故障隔离 :如果一个分区出现问题,比如受到病毒攻击或文件系统损坏,其他分区的 数据仍然可以保持安全。这有助于隔离故障,防止整个磁盘的数据丢失。

系统恢复 :在某些情况下,可能需要对操作系统进行重新安装或恢复。如果操作系统 安装在一个单独的分区上,那么重新安装或恢复操作将不会影响其他分区的数据。

灵活性 :分区使得磁盘的使用更加灵活。例如,可以根据需要调整分区的大小,或者 创建一个新的分区来存储新的数据。

2·虚拟机添加磁盘

在虚拟机开机前添加需要的硬盘信息。

开机启动,查看虚拟机磁盘信息

使用指令fdisk -l查看当前磁盘信息

3·对磁盘分区

使用fdisk指令,对/dev/sdb磁盘进行操作

c ommand (m for help): n // 新建分区

Partition type p primary (0 primary, 0 extended, 4 free)

e extended (container for logical partitions)

Select (default p): p // 新建主分区

Command (m for help): p // 打印分区信息

Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors

Disk model: VMware Virtual S

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x50f2734d

// 第一个新建的分区信息 /dev/sdb1

2048 206847 204800 100M 83 Linux

Command (m for help): n // 新建分区

Select (default p): p // 分区类型为主分区

Partition number (2-4, default 2):

First sector (206848-2097151, default 206848): 回车即可

// 新建一个50MB大小的主分区

Last sector, +/-sectors or +/-size{K,M,G,T,P} (206848-2097151, default 2097151): +50M

Command (m for help): p // 打印当前系统中存在的分区信息(分区表)

Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors

Disk model: VMware Virtual S

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x50f2734d Device /dev/sdb1 /dev/sdb2 Boot Start End Sectors Size Id Type 2048 206847 204800 100M 83 Linux 206848 309247 102400 50M 83 Linux

Command (m for help): w // 将分区信息写入到磁盘中(存盘)

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

[root@wcg ~]# fdisk -l /dev/sdb // 查看/dev/sdb 磁盘的分区信息

4·Linux 系列(RHEL)

输入mkfs.连续按两下Tab键,当前操作系统所支持的文件系统如下:

目前系统支持两个磁盘文件系统为.xfs和.ext4

刷新磁盘分区信息到内核的数据库中

[root@ryslog-client ~]# partprobe

查看当前系统所有的磁盘分区信息

5·创建文件系统,关联目录

1、对分区进行格式化,创建文件系统

[root@ryslog-client ~]# mkfs.xfs /dev/sdb1

// 使用mkfs.xfs指令对/dev/sdb4创建文件类型为xfs的分区(CentOS7、RHEL7以后的默认分区类型)

[root@ryslog-client ~]# mkfs.ext4 /dev/sdb4

// 使用 mkfs.ext4 命令,对 /dev/sdb1 分区,创建文件类型为ext4的分区。

6·创建分区对应的挂载目录(挂载点)

要将分区和目录结合起来,向目录中写入数据,即是向分区中写入数据。

[root@ ryslog-client ~]# mkdir -pv /home/{mysql,nginx,apache,tomcat}

mkdir: created directory '/home/mysql'

mkdir: created directory '/home/nginx'

mkdir: created directory '/home/apache'

mkdir: created directory '/home/tomcat'

// 使用 mount 指令挂载分区到对应的目录中,( 空目录,必须是空目录

[root@ ryslog-client ~]# mount /dev/sdb1 /home/mysql/

[root@ ryslog-client ~]# mount /dev/sdb2 /home/nginx/

[root@ ryslog-client ~]# mount /dev/sdb3 /home/apache/

[root@ ryslog-client ~]# mount /dev/sdb4 /home/tomcat/

// 使用 df 指令,查看当前操作系统的分区和挂载目录信息,以及文件类型等(容量)

[root@ *ryslog-client~*******]#df -Th

文件系统 类型 容量 已用 可用 已用% 挂载点

devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev

tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs tmpfs 777M 12M 766M 2% /run

/dev/mapper/cs_192-root xfs 116G 5.4G 110G 5% /

/dev/sdb2 xfs 10G 104M 9.9G 2% /mnt/er

/dev/sdb1 xfs 10G 104M 9.9G 2% /mnt/yi

/dev/sdc1 xfs 10G 104M 9.9G 2% /mnt/san

/dev/sdc2 xfs 10G 104M 9.9G 2% /mnt/si

/dev/sda1 xfs 4.6G 298M 4.4G 7% /boot

tmpfs tmpfs 389M 52K 389M 1% /run/user/42

tmpfs tmpfs 389M 36K 389M 1% /run/user/0

// 设置挂载点(开机自动挂载)

分区信息 挂载目录 文件系统类型 defaults 0 0

[root@ ryslog-client****~]#** vim /etc/fstab**

[root@ ryslog-client****~]#** mount -a**

// 从/etc/fstab读取挂载信息,立即生效

7·查看磁盘信息

[root@localhost er]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS

sda 8:0 0 120G 0 disk

├─sda1 8:1 0 4.7G 0 part /boot

└─sda2 8:2 0 115.3G 0 part

└─cs_192-root 253:0 0 115.3G 0 lvm /

sdb 8:16 0 20G 0 disk

├─sdb1 8:17 0 10G 0 part /mnt/yi

└─sdb2 8:18 0 10G 0 part /mnt/er

sdc 8:32 0 20G 0 disk

├─sdc1 8:33 0 10G 0 part /mnt/san

└─sdc2 8:34 0 10G 0 part /mnt/si

sr0 11:0 1 1024M 0 rom

[root@localhost er]# blkid

/dev/sdb2: UUID="761b02d5-48dd-4ad5-a9fc-54b463f4749c" TYPE="xfs" PARTUUID="d966ddb9-02"

/dev/sdb1: UUID="e93cf53c-2d02-4273-84e0-4ab9ef272a72" TYPE="xfs" PARTUUID="d966ddb9-01"

/dev/mapper/cs_192-root: LABEL="wcg" UUID="db770314-c293-417d-9bda-a3912aaf5555" TYPE="xfs"

/dev/sdc2: UUID="7a76a3d9-f456-488b-a7f4-1827e648ddd7" TYPE="xfs" PARTUUID="77bffbcf-02"

/dev/sdc1: UUID="d44c0c34-9dc9-4eee-804e-69d8f547085e" TYPE="xfs" PARTUUID="77bffbcf-01"

/dev/sda2: UUID="Qyk8sC-fziG-fb1H-vVtY-fSP0-43NZ-wwOpJV" TYPE="LVM2_member" PARTUUID="dd91671e-02"

/dev/sda1: UUID="ea3466d6-7ff0-49c3-aa94-be92254dfe6d" TYPE="xfs" PARTUUID="dd91671e-01"

总结:磁盘使用三部曲

分区(fdisk、parted、交互式|非交互式【自动化】)、 格式化

创建文件系统(mkfs.xfs mkfs.ext4)

挂载 mount 手动挂载 /etc/fstab 自动挂载 mount -a 自动挂载

相关推荐
Peter_chq5 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮1 小时前
Linux 使用中的问题
linux·运维
dsywws2 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零3 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge3 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱3 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范
free4 小时前
netstat中sendq/recvq用于排查发送端发送数据的问题
服务器
小林熬夜学编程4 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
力姆泰克4 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克4 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节