shell 脚本实战笔记(4)--linux磁盘分区重新挂载

背景:
  Hadoop的HDFS文件系统的挂载, 默认指定的文件目录是/mnt/disk{N}. 当运维人员, 不小心把磁盘挂载于其他目录, 比如/mnt/data, /mnt/disk01, /mnt/diska时, HDFS会选择根分区, 当往HDFS里灌数据时, 导致的结果往往是根分区被快速的消耗尽, 而其他分区未见使用.
  在CDH版本中, HDFS的配置如下所示:

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后的磁盘如下所示:

[email protected]:~ # df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 459G 358G 100G 79% /
devtmpfs 32G 188K 32G 1% /dev
tmpfs 32G 104K 32G 1% /dev/shm
/dev/sdb2 457G 320G 136G 71% /mnt/disk1
/dev/sdc1 459G 289G 147G 67% /mnt/disk2

  但采用mount的方式, 能解决一时的问题, 但重启之后, 之前mount的信息就丢失了.

  2. 采用fstab的方式
  *) 编辑/etc/fstab

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sdb2 /mnt/disk1 ext3 defaults 0 0
/dev/sdc1 /mnt/disk2 ext3 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

shell 脚本实战笔记(4)--linux磁盘分区重新挂载

时间: 2024-10-12 07:36:20

shell 脚本实战笔记(4)--linux磁盘分区重新挂载的相关文章

shell 脚本实战笔记(9)--linux自动批量添加用户

前言: 添加linux用户帐号,这个相对简单, 在面对集群, 许多机器的时候, 我们该如何去做和实现? 这篇短文, 简单讲解一些思路, 尽可能地涉及周边的一些知识点. 不光是运维人员会面临这个问题, 对一个基于linux平台的集群服务或软件(比如hadoop集群), 有时也会涉及到这块. 应用场景: 是以centos 6.4作为演示的系统, 其他的系统有类同, 也有差异, 且以实战演练, 一步步的讲述下流程. *) 实战演练 查阅useradd的使用和参数选项useradd --help -d,

shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维

前言: linux中安装mysql以及配置的管理, 基础的运维和管理还是需要会一些的. 这边作下笔记, 以求天天向上(^_^). 安装流程:*). 安装mysql-server1). 借助yum检索相关的mysql rpm包yum search mysqlmysql-server.x86_64 正是我们想要的 2). 安装mysql-serveryum install mysql-server.x86_64 -y默认mysql-client也安装好 3). 启动mysql服务/etc/init.

shell 脚本实战笔记(6)--集群环境配置检测

1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟精干的团队还好, 对于不熟悉环境的小团队, 由于水平的参差不齐, 往往会导致不一致的环境. 因此无论如何, 写脚本进行自动化的配置和环境校验总是最佳实践. 2). 假设应用场景:*) 系统环境: 安装CDH5, 集群规模为16台机器, 每台机器16CPU, 内存16G, 2块SATA盘共500G,

shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先的$PATH内容, 把原本的PATH=/path/to/newcmd:$PATH, 写成了PATH=/path/to/newcmd, 并不小心写入了~/.bashrc, 并且source ~/.bashrc. 这时会发生什么? 我们如何去处理这种情况? 所有的命令都不能用了, 想回去编辑~/.bas

shell 脚本实战笔记(10)--spark集群脚本片段念念碎

前言: 通过对spark集群脚本的研读, 对一些重要的shell脚本技巧, 做下笔记. *). 取当前脚本的目录 sbin=`dirname "$0"` sbin=`cd "$sbin"; pwd` 代码评注:# 以上代码为获取执行脚本所在的目录的常用技巧# sbin=$(dirname $0) 返回可能是相对路径, 比如./ # sbin=$(cd $sbin; pwd) 采用pwd, 来返回脚本所在目录的绝对路径 *). 循环遍历脚本参数 while (( &q

shell 脚本实战笔记(3)--集群机器的时间同步设置

背景: 有些分布式服务(比如HBase服务), 依赖于系统时间戳, 如果集群各个节点, 系统时间不一致, 导致服务出现诡异的情况. 解决方案: 那如何同步集群各个节点之间的时间? 采用NTP(Network Time Protocol)方式来实现, 选择一台机器, 作为集群的时间同步服务器, 然后分别配置服务端和集群其他机器 1.NTP服务端 *) 安装ntp服务 yum install ntp *) 配置/etc/ntp.conf 这边采用本地机器作为时间的原点 注释server列表 #ser

shell 脚本实战笔记(8)--ssh免密码输入执行命令

前言: ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.本文讲解了两种方式, 一种借助expect脚本, 一种借助sshpass来实现. *) 借助expect脚本来实现1. expect不是系统自带的工具, 需要安装yum install expect -y 2. expect脚本的编写规则 1. [#!/usr/bin/expect] 告知系统脚

shell 脚本实战笔记(7)--集群网络相关知识和环境搭建

前言: 对网络相关的知识, 做下笔记. 包括IP地址A/B/C的分类, 静态地址的配置/DNS配置, 以及网卡相关信息查看. *) A/B/C/D类网络地址的划分 IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址 IPv4的地址划分, 可以分为5种类型, A/B/C/D/E类 A类地址: 由1字节的网络地址和3字节主机地址组成, 网络地址最高位必须是"0", 地址范围从1.0.0.0到126.0.0.0. A类网络有126个, 每个网络能容纳1亿多个主机. B类

shell 脚本实战笔记(5)--搭建资源的镜像服务器

背景: 由于访问国外站点资源, 有时特别慢. 偶尔一次下载, 肯定还能忍受, 对于多次使用或者小团队内部使用, 搭建一个镜像站点, 无疑是个明智的决定. 这边以搭建CDH5的yum源镜像, 作为例子, 具体阐述如何借助apache2搭建一个目录镜像服务, 以及如何复制站点资源. 1) 搭建apache2服务器*) 安装apache2yum install httpdyum info httpd *) 确认配置项/etc/httpd/conf/httpd.conf DocumentRoot "/v