Linux磁盘分区和管理

一 添加硬盘,创建Linux分区

1.首先准备一块新的硬盘

打开虚拟机(此时系统是关机状态),“编辑虚拟机”----选择“硬盘”----“添加”

在这里插入图片描述
选择硬盘,然后下一步

在这里插入图片描述
一路默认推荐选项,然后将硬盘大小设置为10G

在这里插入图片描述

选择好保存路径,然后就创建成功了。

2.检查系统是否识别了硬盘

使用命令lsblk查看新的硬盘是否添加成功。

[root@canway01 ~]# lsblk
NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                        8:0    0   20G  0 disk 
├─sda1                     8:1    0  508M  0 part /boot
└─sda2                     8:2    0 19.5G  0 part 
  ├─centos_canway01-root 253:0    0   18G  0 lvm  /
  └─centos_canway01-swap 253:1    0  1.5G  0 lvm  [SWAP]
sdb                        8:16   0   10G  0 disk 
sr0                       11:0    1  4.4G  0 rom  

此处可以看到,sdb对应的 10G 大小,就是我们刚刚添加的硬盘。

此外,也可以直接查看设备文件。

[root@canway01 ~]# ll /dev/sdb
brw-rw---- 1 root disk 8, 16 Nov 19 18:52 /dev/sdb

3.对磁盘进行分区

对于 2TiB 以下的硬盘,笔者使用fdisk命令,采用MBR分区方案在磁盘上添加、修改和删除分区。

3-1 创建MBR磁盘分区

fdisk后面以要分区的设备文件作为参数,进入交互式界面

[root@canway01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xceafdf4b.

输入字母n,创建新的分区
输入字母p,创建主分区(默认)
直接回车键,默认选择创建分区1
再次回车键,默认从上一次的块继续创建分区
输入+1G,表示创建分区大小为1G

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G
Partition 1 of type Linux and of size 1 GiB is set

然后输入数字p,就可以查看当前磁盘的分区信息

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xceafdf4b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

根据信息,我们可以发现,/dev/sdb这块10G的硬盘上创建了/dev/sdb1这个分区,该分区大小为1G,属于Linux类型的系统分区,有区块起始位置和最终位置。

接着,输入字母w,将修改的内容写入磁盘分区表,并退出 fdisk 程序,完成分区创建请求。
(如果操作错误,不想保存分区请求的内容,则输入字母q,直接退出,且不保存内容)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

最后,使用partprobe 设备文件名称命令,启动内核重新读取磁盘分区表。

[root@canway01 ~]# partprobe /dev/sdb

3-2 创建文件系统

在创建块设备后,还需要在块设备上创建文件系统,才能存储和检索数据。

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

或者使用命令mkfs.xfs /dev/sdb1也是一样的效果

3-3 挂载文件系统

首先要有一个挂载点(挂载目录),即先创建一个空目录。

[root@canway01 scripts]# mkdir -p /data/sdb1

然后手动(临时性)挂载

[root@canway01 scripts]# mount /dev/sdb1 /data/sdb1
[root@canway01 scripts]# mount|tail -1
/dev/sdb1 on /data/sdb1 type xfs (rw,relatime,attr2,inode64,noquota)

# 如果不确定,可以再验证一下是否挂载正确;无报错,说明挂载成功
[root@canway01 scripts]# mount -a

然后检查一下,此时挂载的设备和目录信息,可以看到挂载是成功的

[root@canway01 scripts]# df -h
Filesystem                        Size  Used Avail Use% Mounted on
devtmpfs                          470M     0  470M   0% /dev
tmpfs                             487M     0  487M   0% /dev/shm
tmpfs                             487M  8.1M  479M   2% /run
tmpfs                             487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos_canway01-root   18G  5.2G   13G  29% /
/dev/sda1                         505M  165M  340M  33% /boot
tmpfs                              98M     0   98M   0% /run/user/0
/dev/sdb1                        1014M   33M  982M   4% /data/sdb1

但这个手动挂载只是暂时的,在下一次重启后,挂载好的内容会消失,因此我们需要将其写入/etc/fstab文件中,进行永久挂载。

[root@canway01 scripts]# tail -1 /etc/fstab 
/dev/sdb1     /data/sdb1     xfs    defaults     0 0

第一列是挂载的设备文件名,也可以写成UUID="xxx"的形式。如果要查找该设备的UUID,可以使用命令

[root@canway01 ~]# blkid /dev/sdb1
/dev/sdb1: UUID="170a4b3d-b684-47f1-b60b-cb18477fb735" TYPE="xfs" 

相比之下,使用UUID更可靠,因为块设备的标识符在特定情况下可能会发生变化,例如云提供商修改虚拟机的基础存储层。但UUID在设备的超级块中保持不变。

第二列是挂载点。

第三列是文件系统类型。

后三列一般都是defaults 0 0

到此为止,我们就成功添加一块硬盘并对其分区,可以进行数据的添加、修改、删除和检索了。

二 创建交换空间

2-1 创建分区

3的操作一模一样,创建一个新的分区

2-2 设置分区类型

输入字母t,设置分区类型
输入数字2,选择第二个分区
输入编码82,表示设置linux的交换分区

Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

然后检查一遍设置是否正确

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xceafdf4b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576   82  Linux swap / Solaris

然后输入w保存信息并退出
最后输入partprobe /dev/sdb加载内核读取磁盘分区表。

2-3 格式化交换空间

向设备应用交换签名

[root@canway01 ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=0e6f832a-4090-43b6-8617-8e1aef6f58c3

2-4 激活交换空间

此时并没有启用新创建的交换空间,需要进一步激活才可以。

[root@canway01 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        188M        588M        8.0M        195M        638M
Swap:          1.5G          0B        1.5G
[root@canway01 ~]# swapon  /dev/sdb2
[root@canway01 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        189M        587M        8.0M        195M        638M
Swap:          2.5G          0B        2.5G

(如果要禁用该交换空间,使用命令swapoff /dev/sdb2

并在/etc/fstab文件中使用UUID挂载

[root@canway01 ~]# tail -1 /etc/fstab 
UUID=0e6f832a-4090-43b6-8617-8e1aef6f58c3  swap                    swap    defaults        0 0

最后验证新的交换空间是否已经启用

[root@canway01 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       1572860 0       -2
/dev/sdb2                               partition       1048572 0       -3

三 删除磁盘的分区

3-1 备份数据

防止在对磁盘的错误操作而导致数据丢失,应该先对磁盘中的数据做好备份或迁移。

3-2 取消挂载

在取消挂载后,应检查一下磁盘挂载信息,进行确认。

umount /data/sdb1
df -h

如果在/etc/fstab中设置的永久挂载,还应删除或注释其挂载信息。

3-3 对磁盘分区进行删除操作

输入字母d,表示删除分区

[root@canway01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Selected partition 1
Partition 1 is deleted

然后输入字母w,保存修改的请求
退出 fdisk 后,启动内核重新读取磁盘分区表,使其生效。

partprobe /dev/sdb
  • 7
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值