shell 脚本实战笔记(4)--linux磁盘分区重新挂载
背景:
Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt/diska时, HDFS会选择根分区, 当往HDFS里灌数据时, 导致的结果往往是根分区被快速的消耗尽, 而其他分区未见使用.
在CDH版本中, HDFS的配置如下所示:
1 2 | dfs.datanode.data.dir => /mnt/disk{N}/dfs/dn dfs.datanode.data.dir.perm => 755 |
由此可见: HDFS选择/mnt/disk{N}作为数据的存储目录是有来由的
这种情况如何处理? 该问题的本质解决方案是, 通过重新挂载相应的磁盘分区到/mnt/diskn即可, 通过编辑fstab, 重启来实现.
解决方案:
1. 采用mount的方式
*) 创建/mnt/disk{N}
mdkir -p /mnt/disk1
mdkir -p /mnt/disk2
*) 挂载/mnt/disk{N}
mount /dev/sdb2 /mnt/disk1
mount /dev/sdc1 /mnt/disk2
mount后的磁盘如下所示:
1 2 3 4 5 6 7 | root@server-ip:~ # df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda 1 459 G 358 G 100 G 79% / devtmpfs 32 G 188 K 32 G 1% /dev tmpfs 32 G 104 K 32 G 1% /dev/shm /dev/sdb 2 457 G 320 G 136 G 71% /mnt/disk 1 /dev/sdc 1 459 G 289 G 147 G 67% /mnt/disk 2 |
但采用mount的方式, 能解决一时的问题, 但重启之后, 之前mount的信息就丢失了.
2. 采用fstab的方式
*) 编辑/etc/fstab
1 2 3 | # <file system> <mount point> <type> <options> <dump> <pass> /dev/sdb 2 /mnt/disk 1 ext 3 defaults 0 0 /dev/sdc 1 /mnt/disk 2 ext 3 defaults 0 0 |
*) 进行挂载测试
mount -a
echo $?
mount -a没有任何输出, 并且echo $?返回结果为0, 则表示/etc/fstab配置没问题
*) 系统重启
reboot
相关内容:
1. 如何查看磁盘分区等信息
fdisk -l
ls /dev/sd*
2. /etc/fstab里的配置项的含义
<file system> <mount point> <type> <options> <dump> <pass>
<file system>: 设备名或者设备卷标名
<mount point>: 设备挂载目录
<type>: 设备文件系统, vfat, ext3, ext4, swap等
<options>: 挂载参数, 可选用defaults
<dump>: 指明是否要备份。(0为不备份,1为要备份,一般根分区要备份)
<pass>: 指明自检顺序。 (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)
/dev/sdb2 /mnt/disk1 ext3 defaults 0 0
/dev/sdc1 /mnt/disk2 ext3 defaults 0 0
参考链接:
http://blog.sina.com.cn/s/blog_6ce9e88701014jgl.html
http://www.shangxueba.com/jingyan/121709.html
posted on 2014-06-24 12:20 mumuxinfei 阅读(1061) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构