x

在不重新引导的情况下增加Linux根分区的大小

在不重新引导的情况下增加Linux根分区的大小

在不重新引导的情况下调整Linux根分区的大小

目录




介绍


前段时间接触了一下SolusVM,设置了套餐plan,开设了一个测试的VPS,但使用中发现空间不够用,先是在solusvm的vps管理中增加了VPS的空间,但在SSH端并没有显示出来,因为已经配置好了环境,不想重装系统,就在网上找了相应的方法
是从国外DevOps社区 转来的文章,在这里表示对作者的感谢!
测试环境是centos7 64
首先查看分区

root@debian:~# fdisk -l /dev/vda

Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 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
Disklabel type: dos
Disk identifier: 0x0041f8a8

Device     Boot    Start       End  Sectors Size Id Type
/dev/vda1           2048  96471039 96468992  46G 83 Linux
/dev/vda2       96471040 104857599  8386560   4G 82 Linux swap / Solaris


在上面的示例中,总共50 GB的存储卷分为46 GB可用空间和4 GB用于交换。如果在配置后我们发现46 GB的磁盘空间不够,但我们不想添加额外的存储卷呢?目标是增加根文件系统上可用的磁盘空间量。这可以在最小的中断的情况下完成。我们并不需要重新启动服务器!

要求


从ProfitBricks提供的映像创建的Linux服务器。
SSH或控制台访问(通过DCD)到Linux服务器。
partprobe命令。可以从parted大多数Linux发行版的软件包中安装。
fdiskswapoffmkswapswapon,和resize2fs命令。可能默认情况下可用。
您正在使用的系统的当前快照或其他备份。为了安全起见!

提供额外空间


要增加硬盘驱动器的大小,请进入DCD(数据中心设计器)并升级驱动器。

DCD增加卷大小

增加驱动器空间量后,单击“配置”以处理更改。需要大约一分钟,你的硬盘驱动器更大。

然后我们需要关闭交换 - 所以确保你可以在几分钟内没有交换空间:
root@debian:~# swapoff -a


禁用交换后,我们需要使用fdisk以下命令重新配置分区:

我们将首先删除两个现有分区。我们运行fdisk /dev/vda然后使用该d命令删除分区2,然后删除分区1.请按照以下示例操作:

root@debian:~# fdisk /dev/vda

Command (m for help): d
Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.


现在我们重新创建分区。在示例中,我们有4 GB的交换空间。因此,我们需要为新的交换分区保留至少可用的空间。

重新创建/dev/vda1。按n创建新分区。输入p以创建主分区。我们可以按Enter键接受第一个扇区的默认值2048。然后输入分区的大小。您可以输入以GB为单位的值,因此,如果我们将磁盘增加到100 GB,我们将减去4 GB用于交换,输入+ 96G用于96 GB。

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
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G

Created a new partition 1 of type 'Linux' and of size 96 GiB.


现在我们在simalar进程之后重新创建交换分区。按n然后按p创建新的主分区。按Enter键接受“第一扇区”的默认值。我们也可以再次按Enter键接受“最后一个扇区”的默认值。

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (201328640-209715199, default 201328640):
Last sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199):

Created a new partition 2 of type 'Linux' and of size 4 GiB.


由于第二个分区将用于交换空间,我们需要更改分区类型。这可以通过在提示符下按t来完成fdisk。然后我们按2选择第二个分区。如果要查看可用分区类型列表,请按L,否则输入82以选择“Linux swap / Solaris”。

Command (m for help): t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT

Partition type (type L to list all types): 82

fdisk 有用地告诉我们,我们已经使用以下消息更改了分区类型:

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

之后,我们使用w命令保存并返回到shell提示符:

Command (m for help): w

在shell提示符之前,您可能会收到这样的消息:

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).


让我们重新启动,然后使用以下方法告诉内核有关新分区partprobe

root@debian:~# partprobe


我们应该返回shell提示符,没有输出partprobe

现在我们需要调整文件系统的大小/dev/vda1

root@debian:~# resize2fs /dev/vda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3


文件系统/dev/vda1现在是25165824(4k)块长。

初始化新的交换位置/dev/vda2

root@debian:~# mkswap /dev/vda2
Setting up swapspace version 1, size = 4193276 KiB
no label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2


最后,我们/etc/fstab使用mkswap命令输出中返回的新UUID 编辑和替换旧UUID 。要更改的行没有“挂载点”的值,并且“type”设置为swap

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=332f8fb5-ff1f-4297-b512-f2c93a277296 /               ext4    errors=remount-ro 0       1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
UUID=c55c25a2-a386-4653-8455-4d9030586dd2       none    swap    sw      0       0


编辑完成后/etc/fstab,我们需要再次启用交换:

root@debian:~# swapon -a


校验


我们可以通过利用df/或验证新的更大磁盘大小fdisk

Device     Boot     Start       End   Sectors Size Id Type
/dev/vda1            2048 201328639 201326592  96G 83 Linux
/dev/vda2       201328640 209715199   8386560   4G 82 Linux swap / Solaris


我们还可以通过查看以下输出来确认服务器未重新启动uptime

$ uptime
 23:54:21 up 7 days,  1:15,  1 user,  load average: 0.00, 0.01, 0.05


摘要


我们已成功增加Linux服务器上可用的磁盘空间量。如果您有任何问题或意见,请将其留在此处或本网站的DevOps社区部分。

标签: CentOS linux

相关文章

总计 0 条评论

发布评论

信息
想要留言? 请 登录 您的账号。还没有? 你可以 免费创建账号

最新评论

reishi

reishi

测试评论 评论内容太少,请发布有效评论,不要灌水。...

查看评论
reishi

reishi

更新字库下载地址...

查看评论
reishi

reishi

怎么追到这里来了...

查看评论
dabenshi

dabenshi

这是干什么呀...

查看评论
ishank

ishank

我看看怎么使用?...

查看评论

日历归档

«    十一月 2019    »
周一周二周三周四周五周六周日
 123
45678910
11121314151617
18192021222324
252627282930 

热门文章

我都不好意思开这个头了,额!
我都不好意思开这个头了,额!

2019-05-23, 01:50    149    0

国外图片资源网站推荐
国外图片资源网站推荐

2019-05-23, 01:56    144    0

对Datalife Engine 搜索功能的小调整
对Datalife Engine 搜索功能的小调整

2019-05-23, 01:52    131    1