Linux磁盘管理

发布于:2024-05-07 ⋅ 阅读:(31) ⋅ 点赞:(0)

一、磁盘管理

1·磁盘为什么要做分区

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

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

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

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

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

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

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

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

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

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

2·虚拟机添加磁盘

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

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

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

3·对磁盘分区

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

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