【Linux】扩展阿里云数据盘分区和文件系统

扩容云盘只是扩大存储容量,不会扩容文件系统

一、准备工作

在扩展数据盘扩展分区和文件系统前,请提前完成以下工作。

二、确认分区格式和文件系统

ECS实例的操作系统为CentOS 6.8 64 位,数据盘设备名为/dev/vdb。

1、运行fdisk -lu <DeviceName>确认数据盘是否分区。

本示例中,原有的数据盘空间已做分区/dev/vdb1。"System"="Linux"说明数据盘使用的是MBR分区格式,如果"System"="GPT"则说明数据盘使用的是GPT格式。

[[email protected] ~]# fdisk -lu /dev/vdb

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x7c4016b5

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1              63  2147483519  1073741728+  83  Linux

2、运行blkid <PartitionName>确认文件系统的类型。

本示例中,/dev/vdb1的文件系统类型为ext4。

[[email protected] ~]# blkid /dev/vdb1
/dev/vdb1: UUID="ee04ddf2-ad0f-40bc-9b5c-984be7e19283" TYPE="ext4" 

说明 未分区并且未创建文件系统的数据盘,以及已分区但未创建文件系统的数据盘,不会返回结果。

[[email protected] ~]# blkid /dev/vdb1
[[email protected] ~]#

运行以下命令确认文件系统的状态。

  • ext*文件系统:e2fsck -n <dst_dev_part_path>
  • xfs文件系统:xfs_repair -n <dst_dev_part_path>

警告 本示例中,文件系统状态为clean。如果状态不是clean,请排查并修复。

[[email protected]~]# e2fsck -n /dev/vdb1
e2fsck 1.41.12 (17-May-2010)
/dev/vdb1: clean, 115952/67108864 files, 140800686/268435432 blocks

三、扩展已有MBR分区

说明 为了防止数据丢失,不建议扩容已挂载的分区和文件系统。请先取消挂载(umount)分区,完成扩容并正常使用后,重新挂载(mount)。针对不同的Linux内核版本,推荐以下操作方式:

  • 实例内核版本 < 3.6:先取消挂载该分区,再修改分区表,最后扩容文件系统。
  • 实例内核版本 ≥ 3.6:先修改对应分区表,再通知内核更新分区表,最后扩容文件系统。

如果新增空间用于扩容已有的MBR分区,按照以下步骤在实例中完成扩容:

1、修改分区表

查看磁盘信息

[[email protected]~]# fdisk -lu /dev/vdb

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x7c4016b5

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1              63  2147483519  1073741728+  83  Linux

查看数据盘的挂载路径,根据返回的文件路径卸载分区,直至完全卸载已挂载的分区。

[[email protected] ~]# mount | grep "/dev/vdb"
/dev/vdb1 on /data type ext4 (rw,relatime,data=ordered)
[[email protected] ~]# umount /dev/vdb1
[[email protected] ~]# mount | grep "/dev/vdb"

使用fdisk工具删除旧分区。

  1. 运行fdisk -u /dev/vdb:分区数据盘。
  2. 输入p:打印分区表。
  3. 输入d:删除分区。
  4. 输入p:确认分区已删除。
  5. 输入w:保存修改并退出。
[[email protected]~]# fdisk -u /dev/vdb

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘).

Command (m for help): p

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x7c4016b5

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1              63  2147483519  1073741728+  83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): p

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x7c4016b5

   Device Boot      Start         End      Blocks   Id  System

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

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

使用fdisk命令新建分区。

  1. 运行fdisk -u /dev/vdb:分区数据盘。
  2. 输入p:打印分区表。
  3. 输入n:新建分区。
  4. 输入p:选择分区类型为主分区。
  5. 输入<分区号>:选择分区号。本示例选取了1。

    警告 新分区的起始位置必须和旧分区的起始位置相同,结束位置必须大于旧分区的结束位置,否则会导致扩容失败。

  6. 输入w:保存修改并退出。

本示例中,将/dev/vdb1由1024 GiB扩容到1280 GiB。

[[email protected]~]# fdisk -u /dev/vdb

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘).

Command (m for help): p

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x7c4016b5

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): w
Partition number (1-4): 1
First sector (63-2684354559, default 63):
Using default value 63
Last sector, +sectors or +size{K,M,G} (63-2684354559, default 2684354559):
Using default value 2684354559

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

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

运行lsblk /dev/vdb确保分区表已经增加。

运行e2fsck -n /dev/vdb1再次检查文件系统,确认扩容分区后的文件系统状态为clean。

2、通知内核更新分区表

运行partprobe <dst_dev_path>或者partx -u <dst_dev_path>,以通知内核数据盘的分区表已经修改,需要同步更新。

3、扩容文件系统

ext*文件系统(例如ext3和ext4):运行resize2fs /dev/vdb1并重新挂载分区。

[[email protected] ~]# resize2fs /dev/vdb1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vdb1 to 7864320 (4k) blocks.
The filesystem on /dev/vdb1 is now 7864320 blocks long.
[[email protected] ~]# mount /dev/vdb1 /data

xfs文件系统:先运行mount /dev/vdb1 /data/命令,再运行xfs_growfs /dev/vdb1

[[email protected] ~]# mount /dev/vdb1 /data/
[[email protected] ~]# xfs_growfs /dev/vdb1
meta-data=/dev/vdb1              isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 5242880 to 7864320

四、新增并格式化MBR分区

如果新增空间用于增加新的MBR分区,按照以下步骤在实例中完成扩容:

运行fdisk -u /dev/vdb命令新建分区。

本示例中,为新增的20GiB新建分区,作为/dev/vdb2使用。

[[email protected] ~]# fdisk -u /dev/vdb
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 commad.

Command (m for help): p

Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 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: 0x2b31a2a3

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    41943039    20970496   83  Linux

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

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

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

运行命令lsblk /dev/vdb查看分区。

[[email protected] ~]# lsblk /dev/vdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb    253:16   0  40G  0 disk
├─vdb1 253:17   0  20G  0 part
└─vdb2 253:18   0  20G  0 part

格式化新的分区。

创建ext4文件系统:mkfs.ext4 /dev/vdb2

[[email protected] ~]# mkfs.ext4 /dev/vdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[[email protected] ~]# blkid /dev/vdb2
/dev/vdb2: UUID="e3f336dc-d534-4fdd-****-b6ff1a55bdbb" TYPE="ext4"

创建ext3文件系统:mkfs.ext3 /dev/vdb2

[[email protected] ~]# mkfs.ext3 /dev/vdb2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[[email protected] ~]# blkid /dev/vdb2
/dev/vdb2: UUID="dd5be97d-a630-4593-****-5056def914ea" SEC_TYPE="ext2" TYPE="ext3"

创建xfs文件系统:mkfs.xfs -f /dev/vdb2

[[email protected] ~]# mkfs.xfs -f /dev/vdb2
meta-data=/dev/vdb2              isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, 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
[[email protected] ~]# blkid /dev/vdb2
/dev/vdb2: UUID="66251477-3ae4-4b44-****-5604420dbecb" TYPE="xfs"

创建btrfs文件系统:mkfs.btrfs /dev/vdb2

[[email protected] ~]# mkfs.btrfs /dev/vdb2
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)
UUID:               6fb5779b-57d7-4aaf-bf09-82b46f54a429
Node size:          16384
Sector size:        4096
Filesystem size:    20.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP               1.00GiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    20.00GiB  /dev/vdb2
[[email protected] ~]# blkid /dev/vdb2
/dev/vdb2: UUID="6fb5779b-57d7-4aaf-****-82b46f54a429" UUID_SUB="9bdd889a-ab69-4653-****-d1b6b8723378" TYPE="btrfs"

运行mount /dev/vdb2 /mnt挂载文件系统。

运行df -h查看目前数据盘空间和使用情况。

显示新建文件系统的信息,表示挂载成功。

[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.6G 36G 5% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 460K 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vdb2 9.8G 37M 9.2G 1% /mnt
tmpfs 783M 0 783M 0% /run/user/0

五、重点来了,如果磁盘没有分区,但是有数据怎么办,怎么办?

1、查看磁盘情况

[[email protected] ~]# fdisk -lu /dev/vdb

Disk /dev/vdb: 1374.4 GB, 1374389534720 bytes
16 heads, 63 sectors/track, 2663050 cylinders, total 2684354560 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 identifier: 0x00000000

[[email protected] ~]# blkid /dev/vdb
/dev/vdb: UUID="c7a3bad3-c0f9-4cdc-9778-15abb90953ab" SEC_TYPE="ext2" TYPE="ext3"
[[email protected] ~]# lsblk /dev/vdb
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdb  252:16   0  1.3T  0 disk 

2、直接扩容

[[email protected] ~]# e2fsck -f /dev/vdb
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdb: 115952/67108864 files (32.8% non-contiguous), 140800686/268435432 blocks
[[email protected] ~]#
[[email protected] ~]# resize2fs /dev/vdb
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vdb1 to 335544312 (4k) blocks.
The filesystem on /dev/vdb is now 335544312 blocks long.

  

  

原文地址:https://www.cnblogs.com/chenpingzhao/p/11399022.html

时间: 2024-08-29 17:13:43

【Linux】扩展阿里云数据盘分区和文件系统的相关文章

1.阿里云数据盘挂载

??使用阿里云ECS服务器做生产环境,通常会购置一块或多块数据盘.对于磁盘的分区及格式化操作,得慎之又慎,万一弄错了盘符,哭都没地方哭!本文适用于阿里云数据盘挂载操作,同时对于个人虚拟机Linux环境下挂载磁盘也可参考此文.... 1.查看未挂载数据盘 df -h fdisk -l 可以先用df -h命令查看当前已挂载的磁盘, 再用fdisk -l查看是否有未挂载的磁盘 磁盘命名一般为 /dev/xda1或/dev/xdb1或/dev/xdc1依次类推 注意未挂载的数据盘位置, 不同系统不同,

阿里云数据盘扩容

操作过程:   1.找到你的数据盘,按系统提示进行扩容       2.重启服务器       3.首先要终止系统正在运行的程序,这点很重要,否则后继的操作无法成功   终止以下程序:nginx.apache.mysql.php-fpm.ftp  /etc/init.d/nginx stop  /etc/init.d/httpd stop  /etc/init.d/mysqld stop  /etc/init.d/php-fpm stop  /etc/init.d/vsftpd stop    

linux数据盘分区以及格式化

首先切换到root账户下  sudo -i 手动格式化 请根据以下步骤对数据盘进行分区以及格式化,并挂载分区使数据盘可用. 注:执行以下命令时,请注意修改数据盘符,可以使用"fdisk -l"查看盘符等相关信息,以下均以xvdb为例,若是其他盘符,仅需将vdb替换为该盘符即可,如fdisk /dev/vdb替换为fdisk /dev/xvdb请确认路径为"/dev/vdb",若错填为"/dev/vda",将会造成云主机崩溃 2.1 查看数据盘信息

Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法

在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复.如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态. 前提条件 在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复.如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态. 工具说明 在Linux实例里,您可以选择以下任一种工具修复磁盘分区并恢复数据: fdisk:Linux系统默认安装的分区工具. testdisk:主要用恢复Linux系统的磁盘分区或

Linux 格式化和挂载数据盘

如果您已经为 ECS 实例配了数据盘,您需要先格式化数据盘并挂载文件系统后才能正常使用数据盘. 注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据盘创建快照以避免可能的数据丢失. 云服务器 ECS 仅支持对 数据盘 进行分区,而不支持对 系统盘 进行分区.如果您强行使用第三方工具对系统盘进行分区操作,可能引发未知风险,如系统崩溃.数据丢失等. 本文描述如何用一个新的数据盘创建一个单分区数据盘并挂载文件系统. 您还可以根据业务

ahjesus linux连接阿里云ubuntu服务器并更改默认账号和密码,以及创建子账户

先确保本地Linux服务器SSH服务开启,如果没有开启直接执行指令:service sshd start 然后我们使用ssh指令进行远程登陆 ssh [email protected] 输入passwd指令修改旧密码 修改默认账号root vi /etc/passwd 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x保存并退出 vi /etc/shadow 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x!强

解决阿里云数据导入自建数据库过程中,导入出错的问题

解决阿里云数据导入自建数据库过程中,导入出错的问题 mysql配置改进:vim /etc/my/cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock secure_file_priv='' max_allowed_packet = 10M character-set-server = utf8mb4 collation-server = utf8mb4_general_ci #collation-server =

Linux 阿里云挂载新分区

阿里云服务器可以自己购买数据盘并挂载使用,虽然官方也提供了挂载的教程,但是还是有些朋友不清楚其中的细节,为此,我在这里来给大家分享一下详细的挂载办法. 工具/原料 已经购买开通阿里云服务器,并且在开通时购买了数据盘 linux服务器远程连接,要使用ssh连接工具,推荐putty 方法/步骤 许多朋友不清楚自己是否有数据盘需要挂载(虽然购买时自己买没买你应该知道的,但还是有人不知道啊),那么你应该在linux服务器上使用使用“fdisk -l”命令查看.如下图:若您执行fdisk -l命令,发现没

Windows and Linux挂载阿里云NAS的NFS网盘

前情提要: 阿里云的NAS存储有两种模式 NFS,SMB其中SMB模式的存储 仅仅能挂载到Windows服务器,Linux暂时不支持.这时候如果Windows,Linux ECS想要挂同一块网盘的话只能选择NFS模式. Linux yum install nfs-utils -y mount -t nfs -o vers=4,minorversion=0,noresvport 1xxxxxxxxxxxx83.cn-beijing.nas.aliyuncs.com:/ /mnt mount -t