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 自动挂载

相关推荐
子琦啊4 分钟前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
跨境数据猎手39 分钟前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
AOwhisky1 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..2 小时前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行2 小时前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.2 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
星恒讯工业路由器2 小时前
星恒讯工业生产自动化解决方案
运维·物联网·自动化·智能路由器·信息与通信
a8a3022 小时前
Laravel9.x新特性全解析
运维·spring boot·nginx
beyond阿亮2 小时前
IEC104 Client Simulator - IEC104 主站/客户端模拟器 仿真器免费使用教程
运维·服务器·网络