×

linux为已有的分区扩容 node s

linux为已有的分区扩容(如何解决Linux根分区和inodes被占满的问题)

admin admin 发表于2023-02-27 09:19:21 浏览81 评论0

抢沙发发表评论

本文目录

如何解决Linux根分区和inodes被占满的问题

Linux根分区和inodes被占满后,会影响Linux系统的正常运行,后果是很严重的,那如何避免此问题的发生以及发生后如何解决呢?下面我来给大家详细介绍下:

(1)、Linux根分区被占满

我们通过执行:

# df -h

即可查看根分区(/)的磁盘占用情况,如果占用达到100%,说真的,没好办法,把大文件迁移到其它分区吧。所以我们建议在安装Linux系统时需要注意以下事项:

  • Linux根分区(/)不要设置的过小

  • Linux根分区要单独挂载

  • 使用LVM技术,以便后期扩容

(2)、Linux inodes被占满

inode是啥呢?它其实是索引文件,记录了文件的类型、大小、权限、所有者、创建时间、内容指针等信息。

我们通过执行:

# df -i

即可查看各文件系统的inodes占用比例情况,如果某个文件系统inodes被占满,一样,要么进行文件迁移要么删除一些垃圾文件,如:

  • session缓存文件

  • 尺寸为0的垃圾文件

  • 其它缓存等

linux分区满了,如何进行扩容

有两种方法实现对linux分区的扩容。第一种方式是软链接(符号链接)。举个例子来说明下软链接,假如你的/b目录满了,不能存储文件。这时你把/a目录链接到/b目录,你在访问/b目录时实际是访问/a目录里面的空间。

软链接的创建方式为:“ ln -s 目录a 目录b/文件夹c”。意思是在目录b下创建一个文件夹名为c的软链接,链接地址是目录a。在向目录b下文件夹c存放文件时,实际存放位置是目录a。

软链接的方式可以在不改变数据的情况下通过链接到另外的空间解决了容量不足的问题,但是如果硬盘空间本身不足,那么就要用另外的解决方案了——增加磁盘。在扩容磁盘前需要将容量已满的/b目录中的数据拷贝到其他位置。此种方式能从根本上解决磁盘容量不足的问题。

假设新增的磁盘为xvdb1,首先对磁盘分区,具体方法参考网上教程分区完成后制作文件系统(顺序不可乱)。完成后先将原先目录已满的/b从原挂载点卸载,例如:umount /dev/xvda1 /b。卸载掉挂载在/b目录下的分区xvda1。重新将新增的分区挂载到/b:mount /dev/xvdb1 /b。将/etc/fstab内加入新挂载的分区和挂载点,这一点非常重要,否则重启后分区会丢失。至此,原来已满的/b被重新挂载到了新的硬盘分区,然后将原来备份的文件拷贝回来就可以了。

请教:多LINUX分区扩容

提供一个思路,具体要看性能和安全方面能否达到要求。

以Ubuntu Linux为例,MySQL数据文件缺省安装在/var/lib/mysql下。

分几步进行:

  1. 在提供空间的Linux系统(简称存储机)上安装NFS Server,export出一个目录(例如/var/mysqldb)用于存放MySQL数据库,注意设置好权限。

  2. 首先确保服务器能正常mount存储机的mysqldb目录,修改服务器/etc/fstab,添加一行,将存储机mysqldb mount到本机 /var/lib/mysql


  3. 暂停服务,将服务器/var/lib/mysql目录完全复制到NFS mysqldb目录下。

  4. 修改服务器/var/lib/mysql目录名,并新建/var/lib/mysql目录。手动NFS mount

  5. 启动服务,检查MySQL是否正常工作

若有疑问可具体联系。