Linux系统的磁盘如何进行扩容 (linux如何扩容)

在使用Linux系统时,由于应用程序和系统文件的不断增多,可能会导致磁盘空间不足的情况出现。这时,我们需要扩大磁盘空间,以便更好地管理和存储文件。本文将介绍如何在Linux系统中进行磁盘扩容。

1.了解当前磁盘情况

在扩容之前,需要先查看当前磁盘的情况,确认需要扩容的磁盘。在Linux系统中,可以使用命令“df -h”来查看当前磁盘使用情况。

举个例子:

“`

$ df -h

Filesystem Size Used Avl Use% Mounted on

/dev/sda1 10G 8.8G 1.2G 88% /

udev 10M 0 10M 0% /dev

tmpfs 783M 9.2M 774M 2% /run

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

“`

从上面的输出结果可以看到,当前系统中一共有6个分区,其中/dev/sda1分区的大小为10G,已使用8.8G,可用1.2G,使用了88%。这说明当前系统中/dev/sda1分区的空间非常紧张,需要进行扩容。

2.磁盘扩容前的准备工作

在进行磁盘扩容之前,需要对磁盘进行备份和快照。此外,在实际操作时,需要保证系统处于单用户模式。

备份和快照的作用主要是保证数据的安全,防止在磁盘扩容过程中出现数据丢失等问题。而单用户模式可以减少系统中的进程,避免影响磁盘扩容的操作。

3.硬盘分割工具(fdisk)扩容

在进行磁盘扩容之前,需要确保磁盘空间是足够的。在实际扩容过程中,我们可以使用fdisk工具来进行磁盘扩容。fdisk是一个硬盘分割工具,可以让我们管理硬盘的各种功能,如磁盘分区、格式化、扩容等。

可通过以下步骤来使用fdisk进行磁盘扩容:

1)使用fdisk查看磁盘信息

“`

$ sudo fdisk -l

“`

2)找到需要扩容的磁盘分区,然后卸载该分区:

“`

$ sudo umount /dev/sda1

“`

3)运行fdisk工具格式化分区:

“`

$ sudo fdisk /dev/sda1

“`

4)通过fdisk工具添加新分区:

输入“n”命令,然后选择分区类型(例如,选择Primary)并设置分区大小,然后将分区信息写入磁盘并退出fdisk。

5)重新挂载分区:

“`

$ sudo mount -a

“`

6)运行df命令检查分区大小是否已扩容:

“`

$ df -h

“`

4.使用逻辑卷管理器(LVM)扩容

另一种常用的磁盘扩容方法是使用逻辑卷管理器(LVM)。LVM是一个软件工具,可以在系统中创建一个虚拟磁盘,然后将物理磁盘分配给虚拟磁盘,使文件系统可以使用多个磁盘。

LVM的磁盘扩容可以通过以下步骤进行:

1)使用lvdisplay命令查看当前系统的LVM卷:

“`

$ sudo lvdisplay

“`

2)查看需要扩容的磁盘是否属于某个卷。如果是,可以使用lvextend命令扩容该卷:

“`

$ sudo lvextend -L+20G /dev/mapper/vg-root

“`

3)对于扩容的卷进行文件系统大小调整:

“`

$ sudo resize2fs /dev/mapper/vg-root

“`

4)通过df -h验收新的分区空间是否已分配。

通过上述两种方法,我们可以在Linux系统中快速、有效地扩容磁盘空间,以便更好地管理和存储文件。需要注意的是,在进行磁盘扩容操作之前,需要做好备份和快照工作,并确保系统处于单用户模式下,以保证数据的安全性和操作的成功性。

相关问题拓展阅读:

linux如何对磁盘扩容

利用空余磁盘扩容

1. 首先使用命令消穗fdisk -l 查看磁盘情况拿迅卜,此系统有两块硬盘昌码,/dev/xvda 274.9G,/dev/xvdb 10.7G

用fdisk改变根的大小,比如减小到100G

然后皮者陆将燃顷剩下的空间再划分一个嫌睁逻辑区

在usr下创建一个空目录

将这个新区mount到/usr下的一个目录中 Linux需求可参考 Linux就该这么学

Linux 无损扩容磁盘

1.查看服务器挂载信息

需要看挂载路径以便后面卸载

2.卸载挂载中的数据盘:

若无法正常卸载,则李枝使用vi /etc/fstab编辑删除挂载盘,再保存重启。

3.使用parted工具读取磁盘分区表信息;先使用 p 查看可扩容磁盘大小,再通过unit s命令定义默认使用sectors展示,获取起始位置信息:

4.创建新分区。先使用 rm + 序列号 来删除老的分区表;然后使用 mkpart 命令来创建即可,这里需要注意的是parted工具里END的值,由于一般大家都不清楚具体的扇区数量,可以使用容量来替代。

ps:请注意查看执行完扩展指令退出后是否有显示红色线条展示的信息(Information: You may need to update /etc/fstab.),有的槐卖话可执行下 df -h 查看是否/dev/sdb1磁盘已自动挂载上了,那么此时就需要重新卸载数据盘进行后续操作,否则就会提示数据盘已挂载:

5.检测磁盘是否有错误:e2fsck -f /dev/sdb1

6.扩展数据盘大小:resize2fs /dev/sdb1(如文件格式为xfs,则使用命令:xfs_growfs /dev/sdb1)

7.重新挂载磁盘并检查磁哪明敏盘大小:mount /dev/sdb1 /data

ps:注意演示机挂载路劲是/dev/sdb1 ,根据实际情况更改;如重启后挂载失效 请参考步骤2 vi /etc/fstab 恢复挂载记录

怎么给linux分区扩大容量’

这里以RedhatAS4为例。当磁盘分区发现不够用时,能想道的之一个做法就宴拦是增加分区大校但是一般闷仔Linux如果晌罩胡没有采用逻辑卷管理,则动态增加分区大小很困难,一个能想道的法就是,备份分区文件系统数据,删除分区,然后再重新创建分区,恢复备份

这里以Red hat AS4 为例。当磁盘分区发现不够用时,能想道的之一个做法就是增加分区大小。但是一般Linux如果没有采用逻辑卷管理,则动态增加分区大小很困难,一个能想道的办法就是,备份分区文件系统数据,删除分区,然后再重新创建分区,恢复备份的文件系统,这个做法比较玄,可能删除分区后导致系统无法启动。

第二个做法就是,创建一个新的逻辑分区(当然必须有未使用的磁盘空间能分配),将文件系统从老分区拷贝到新分区,然后修改fstab,使用新分区/文件系统替换老的分区/文件系统

第三种做法是,创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用。

这里采用的是第三种方式:

sdb为第二个SCSI硬盘。

# /in/fdisk /橡孝dev/sdb

The number of cylinders for this disk is set to 8942.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 73.5 GB,bytes

255 heads, 63 sectors/track, 8942 cylinders

Units = cylinders of* 512 =bytes

Device Boot StartEnd Blocks Id System

/dev/sdb1 *+ 83 Linux

/dev/sdb+ 82 Linux swap

/dev/sdb 83 Linux

/dev/sdb+ 5 Extended

/dev/sdb 83 Linux

/dev/sdb 83 Linux

/dev/sdb+ 83 Linux

可以看出sdb1,2,3为主分区,sdb4为扩展分区。后面的sdb5,6,7则为逻辑分区。柱面编号(Start,End)是连续的,sdb7只用道了1173,而从扩展分区看更大到8942,也就李亮是说,还有7769个柱面是空闲的,一个柱面大小为,约为8M大小。还剩7769*bytes,约62G未使用。

新增加一梁扰稿个逻辑分区(注:若涉及到主分区和扩展分区,实际情况可能比这个复杂,这里4个主分区(包括扩展分区)都分过了,所以只能分逻辑分区)

Command (m for help): n

First cylinder (, default 1174):

Using default value 1174

增加大小为10G

Last cylinder or +size or +sizeM or +sizeK (, default 8942): +10240M

增加后看一下,多了一个逻辑分区/dev/sdb8

Command (m for help): p

Disk /dev/sdb: 73.5 GB,bytes

255 heads, 63 sectors/track, 8942 cylinders

Units = cylinders of* 512 =bytes

Device Boot StartEnd Blocks Id System

/dev/sdb1 *+ 83 Linux

/dev/sdb+ 82 Linux swap

/dev/sdb 83 Linux

/dev/sdb+ 5 Extended

/dev/sdb 83 Linux

/dev/sdb 83 Linux

/dev/sdb+ 83 Linux

/dev/sdb+ 83 Linux

可以看到,增加了一个sdb8的分区,柱面号从1174到2419.

写入分区表,执行分区操作

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

分区完后,是看不到文件系统的

# df -m

FilesystemM-块已用 可用 已用% 挂载点

/dev/sdb 62% /

none% /dev/shm

/dev/sdb 85% /home

/dev/sdb 3% /opt

/dev/sdb 86% /usr

/dev/sdb 19% /var

重启机器

reboot

格式化文件系统

#/in/mkfs.ext3 /dev/sdb8

mount文件系统,/home/develop 为/home下一目录

#mount /dev/sdb8 /home/develop

查看文件系统,可以看到新建立的分区/文件系统已经挂载上,能够使用了。

# df -m

FilesystemM-块已用 可用 已用% 挂载点

/dev/sdb 62% /

none% /dev/shm

/dev/sdb 85% /home

/dev/sdb 3% /opt

/dev/sdb 86% /usr

/dev/sdb 19% /var

/dev/sdb 1% /home/develop

这里以RedhatAS4为例。当磁盘分区发现不够用时,能想道的之一个做法就是增加分区大小。但是亏竖历一般Linux如果没有采用逻辑卷管理,则动态增加分区大小很困难,一个能想道的法就是,备份分区文件系统数据,删除分区,然后再重新创建分区,恢复备份的文件系统,这个做法比较玄,可能删除分区后导致系统无法启动。第二个做法纤配就是,创建一个新的逻辑分区(当然必须有未使用的磁盘空间能分配),将文件系统从老分区拷贝到新分区,然后修改fstab,使用新分区/文件系统替换老的分区/文件系统第三种做法是,创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用。这里采用的是第三种方式:sdb为第二个SCSI硬盘。#/in/fdisk/dev/sdbThenumberofcylindersforthisdiskissetto8942.Thereisnothingwrongwiththat,butthisislargerthan1024,andcouldincertainsetupscauseproblemswith:1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)2)bootingandpartitioningsoftwarefromotherOSs(e.g.,DOSFDISK,OS/2FDISK)Command(mforhelp):pDisk/dev/sdb:73.5GB,bytes255heads,63sectors/track,8942cylindersUnits=cylindersof16065*512=bytesDeviceBootStartEndBlocksIdSystem/dev/sdb1*+83Linux/dev/sdb+82Linuxswap/dev/sdb83Linux/dev/sdb82+5Extended/dev/sdb3Linux/dev/sdb3Linux/dev/sdb3+83Linux可以看出sdb1,2,3为主分区,sdb4为扩展分区。后面的sdb5,6,7则为逻辑分区。柱面编号(Start,End)是连续的,sdb7只用道了1173,而从扩展分区看更大到8942,也就是说,还有7769个柱面是空闲的,一个柱面大小为,约为8M大小。还剩7769*bytes,约62G未使用。新增加一个逻辑分区(注:若涉及到主分区和扩展分区,实际情况可能比这个复杂,这里4个主分区(包括扩展分区销搜)都分过了,所以只能分逻辑分区)Command(mforhelp):nFirstcylinder(,default1174):Usingdefaultvalue1174增加大小为10GLastcylinderor+sizeor+sizeMor+sizeK(,default8942):+10240M增加后看一下,多了一个逻辑分区/dev/sdb8Command(mforhelp):pDisk/dev/sdb:73.5GB,bytes255heads,63sectors/track,8942cylindersUnits=cylindersof16065*512=bytesDeviceBootStartEndBlocksIdSystem/dev/sdb1*+83Linux/dev/sdb+82Linuxswap/dev/sdb83Linux/dev/sdb82+5Extended/dev/sdb3Linux/dev/sdb3Linux/dev/sdb3+83Linux/dev/sdb463+83Linux可以看到,增加了一个sdb8的分区,柱面号从1174到2419.写入分区表,执行分区操作Command(mforhelp):wThepartitiontablehaeenaltered!Callingioctl()tore-readpartitiontable.WARNING:Re-readingthepartitiontablefailedwitherror16:设备或资源忙.Thekernelstillusestheoldtable.Thenewtablewillbeusedatthenextreboot.Syncingdisks.分区完后,是看不到文件系统的#df-mFilesystem1M-块已用可用已用%挂载点/dev/sdb%/none%/dev/shm/dev/sdb%/home/dev/sdb%/opt/dev/sdb%/usr/dev/sdb%/var重启机器reboot格式化文件系统#/in/mkfs.ext3/dev/sdb8mount文件系统,/home/develop为/home下一目录#mount/dev/sdb8/home/develop查看文件系统,可以看到新建立的分区/文件系统已经挂载上,能够使用了。#df-mFilesystem1M-块已用可用已用%挂载点/dev/sdb%/none%/dev/shm/dev/sdb%/home/dev/sdb%/opt/dev/sdb%/usr/dev/sdb%/var/dev/sdb%/home/develop

分区不行;如果是文件系统的历袭歼扩展和压缩可以;btrfs的文件系统支持扩展和禅兄压缩,还有xfs也是一样;当然还有LVM(逻辑卷管理);早期应该用肢冲的都是LVM

linux如何扩容的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux如何扩容,Linux系统的磁盘如何进行扩容,linux如何对磁盘扩容,Linux 无损扩容磁盘,怎么给linux分区扩大容量’的信息别忘了在本站进行查找喔。


数据运维技术 » Linux系统的磁盘如何进行扩容 (linux如何扩容)