Linux下调整/tmp目录大小

本文介绍了解决/tmp空间不足的问题,通过调整LVM分区,将/tmp目录由1GB扩展至31GB的过程。包括减小其他逻辑卷(LogVol-da1)的空间以释放可用空间,以及扩展/tmp所在的逻辑卷(LogVol01)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

默认的服务器/tmp目录空间太小了,动不动就写满了。自己调整下。

1、查看/tmp大小 ,见下图。

只有可怜的1G。同时发现本机的磁盘是通过lvm管理的。
这里写图片描述

2、查看vg是否有可用空间 ,如下图。

发现可用空间是0.
所以调整的思路是:减小某个lv的容量,使vg有可用空间。然后增加/tmp所在的目录的lv容量。
这里写图片描述

3、查看当前lv ,命令 lvdisplay ,如下图。

发现 /dev/VolGroup00/LogVol-da1 这个lv比较大 。减小他的容量到2000G 。
这里写图片描述

4、 umount目录

由于/dev/VolGroup00/LogVol-da1 这个lv是挂载到/da1下
umount /dev/VolGroup00/LogVol-da1 ,提示 Device is busy 。当前应该有程序正在使用该目录。

fuser -m -v -i -k /dev/VolGroup00/LogVol-da1 杀掉所有使用 /da1这个目录的程序。请确保程序可以被杀掉 。

然后再重新umount 成功 。

5、 减小/dev/VolGroup00/LogVol-da1 到2000G

减少lv空间的操作是有风险的,操作之前一定要做好备份,以免数据丢失。
要减少一个lv的空间,必须先减少之上的文件系统的大小。
具体操作顺序是:检查文件系统,减少文件系统大小,减少lv大小

依次执行下面命令 。
fsck -f /dev/VolGroup00/LogVol-da1
resize2fs /dev/VolGroup00/LogVol-da1 2000G
lvreduce -L 2000G /dev/VolGroup00/LogVol-da1

或者用1条命令 lvreduce -L 2000G -f -r /dev/VolGroup00/LogVol-da1 。
这个时候,再执行下vgdisplay,发现vg已经有可用空间了。需要从增加的空间里拿出一部分分给/tmp目录。如下图。这里写图片描述

6、增加/tmp所在lv的容量 。

依次执行下面命令:
lvextend -L +30G /dev/VolGroup00/LogVol01
resize2fs -f /dev/VolGroup00/LogVol01 31G (注意 :此处的31G=原来的1G+新增加的30G)

或者用1条命令 lvextend -L 31G -f -r /dev/VolGroup00/LogVol01 。
观察看,/tmp所在的lv已经变成31G了。如图。这里写图片描述

7、重新挂载分区

mount /dev/mapper/VolGroup00-LogVol–da1 /da1
因为刚才把/dev/mapper/VolGroup00-LogVol–da1卸载了,需要重新挂上

8、观察磁盘

/tmp目录已经调整到31G了,同时/da1目录也减小了些。
这里写图片描述
另外,由于只用了30G,该vg下还剩余部分空间,如下,可以到时候动态调整给其他目录。
这里写图片描述

<think>好的,我现在需要帮助用户解决安装DM数据库时遇到的临时目录空间不足的问题。用户提到安装程序提示/tmp目录只有492M,但需要至少800M,所以需要调整/tmp大小或者设置环境变量DM_INSTALL_TMPDIR。 首先,我得回忆一下相关的Linux知识。调整/tmp目录大小通常有几种方法:如果/tmp是一个单独的分区,可能需要扩展该分区或者重新挂载。或者,用户可以使用临时文件系统(tmpfs)来挂载/tmp,但这样重启后数据会丢失,不过安装程序可能只是临时需要空间,所以这可能可行。另外,用户可能没有权限调整分区,所以更简单的方法可能是设置环境变量,指向另一个有足够空间的目录。 根据提供的引用内容,用户可以通过创建新目录并设置DM_INSTALL_TMPDIR来指定临时目录。比如,引用[2]提到创建/tem1并修改权限,引用[4]则是在用户主目录下创建tmp目录并导出环境变量。同时,引用[5]提到在.bash_profile中设置环境变量,这样每次登录都会自动生效。 接下来,我需要整理步骤,确保用户能一步步操作。首先,检查现有/tmp的空间,确认是否真的不足。然后,选择方法一:调整/tmp大小,可能需要挂载新的存储设备或者调整分区。方法二:设置环境变量,创建新目录,确保有足够空间,并设置权限,然后导出变量或者写入配置文件。 需要注意的是,创建新目录后,权限是否正确,比如引用[2]中用了chown将目录权限给dmdba用户和disntall组。这可能是因为安装程序以dmdba用户运行,所以临时目录需要有该用户的写权限。此外,环境变量的设置可以是临时的(在终端中export)或永久的(写入.bash_profile等配置文件)。 还需要提醒用户在安装前先执行export命令,或者在配置文件中设置后source一下使其生效。同时,检查新目录的空间是否足够,使用df -h命令查看。 可能存在的误区是用户可能直接扩展/tmp目录所在的分区,但如果是根分区的一部分,扩展可能需要更多步骤,比如使用LVM或者添加新硬盘。而使用环境变量可能更简单,特别是对于没有root权限的用户来说,更可行。 因此,回答的结构应该是先介绍两种方法,调整/tmp大小和设置环境变量,分别给出步骤,并引用相关的参考资料。同时,强调权限和空间检查的重要性,避免用户创建目录后仍然遇到权限问题。</think>### 分步解决方案 #### 方法一:调整/tmp目录空间 **步骤1:检查当前/tmp空间** ```bash df -h /tmp ``` 若显示可用空间不足800MB,需扩展或重新挂载。 **步骤2(可选):扩展/tmp所在分区** - 若/tmp挂载在独立分区(如/dev/sdaX),可使用`resize2fs`或LVM工具扩展分区[^2]。 - 若为根分区子目录,建议改用方法二。 **步骤3:临时挂载新存储到/tmp** ```bash sudo mkdir -p /mnt/tmpfs # 创建临时挂载点 sudo mount -t tmpfs -o size=2G tmpfs /mnt/tmpfs # 挂载2GB内存空间 sudo cp -a /tmp/* /mnt/tmpfs/ # 复制原内容(谨慎操作) sudo umount /tmp # 卸载原/tmp sudo mount /mnt/tmpfs /tmp # 绑定新空间 ``` 注意:重启后失效,适用于临时解决安装问题。 --- #### 方法二:设置DM_INSTALL_TMPDIR环境变量 **步骤1:创建专用临时目录** ```bash mkdir -p /dm8data/tmp # 选择空间充足的路径 chown dmdba:dinstall /dm8data/tmp -R # 确保dmdba用户有权限[^2][^4] ``` **步骤2:临时生效设置(当前会话)** ```bash export DM_INSTALL_TMPDIR=/dm8data/tmp # 直接导出变量[^1][^3] ``` **步骤3:永久生效设置** ```bash echo "export DM_INSTALL_TMPDIR=/dm8data/tmp" >> ~/.bash_profile # 写入配置文件 source ~/.bash_profile # 立即生效[^5] ``` **验证配置** ```bash echo $DM_INSTALL_TMPDIR # 应显示/dm8data/tmp df -h $DM_INSTALL_TMPDIR # 确认目录空间≥800MB ``` --- ### 关键注意事项 1. **权限匹配**:临时目录需属于执行安装的`dmdba`用户,组权限建议设置为`dinstall` 2. **空间预留**:安装完成后建议保留该目录,后续升级或日志可能仍需使用 3. **路径规范**:避免使用符号链接路径,可能导致安装程序识别异常 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值