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

相关推荐
A小辣椒10 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒14 小时前
TShark:基础知识
linux
AlfredZhao16 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式