今日新购一台linux服务器,并选购了一块硬盘,但是登录系统后,看不到那块硬盘,
原因是没有挂载,那如何去挂载硬盘呢?
我们就来看看:
使用xsheel 软件登录系统
用root用户登录,
这个盘符使用 fdisk -l 查看数据盘。(在没有分区和格式化数据盘之前,使用 df -h 是无法看到的。)
fdisk -l
df -h
如图所示:
如果你没有发现 /dev/xvdb 则证明你不用进行数据挂载。可以忽略。
如果有,那应该怎么办?
* 运行 fdisk /dev/xvdb,对数据盘进行分区,根据提示,依次输入 n,p,1 两次回车 ,wq,分区就开始了。
运行 fdisk -l 命令,查看新的分区。新分区 xvdb1 已经创建好。
现在就来格式化这个盘符 /dev/xvdb1
运行
mkfs.ext3 /dev/xvdb1
对新分区进行格式化,格式化所需要的时间取绝于数据盘的大小。
然后,设置开机自动挂载
echo '/dev/xvdb1 /data ext3 defaults 0 0' >>/etc/fstab 写入开机自动加载。
通过
cat /etc/fstab
这个命令去查看是否有写入
运行 命令 挂载新分区
mount /dev/xvdb1 /data
注意:/data 这个目录需要提前建立好,否则挂载不成功
mkdir /data
最后 查看是否挂载成功
df -h
三、卸载硬盘
#umount /dev/xvdb1
1、直接卸载
[root@localhost /]# umount /data1/img
umount: /data1/img: device is busy
umount: /data1/img: device is busy
2、提示被占用,使用强制卸载
[root@localhost /]# umount -f /data1/img
umount2: Device or resource busy
umount: /data1/img: device is busy
umount2: Device or resource busy
umount: /data1/img: device is busy
注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。
3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录
[root@localhost /]# fuser -cu /data1/img
/data1/img: 1757c(mysql)
上面查看发现是pid为1757的mysql用户起的进程在占用该目录。
4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)
[root@localhost /]# fuser -ck /data1/img
/data1/img: 1757c
注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。
另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用
系统现在挂载成功,那何何设置开机自动启动呢?
/etc/fstab 它是linux下一个比较重要的文件 ,它包含了linux开机挂载系统和存储设备的重要信息,下面来看一下参数是什么意义?
编辑 /etc/fstab 这个文件
/dev/vdb1 /data ext3 defaults 0 0
第一列 | 第二列 | 第三列 | 第四列 | 第五列 | 第六列 |
/dev/vdb1 | /data | ext3 | defaults | 0 | 0 |
第一列: 需要挂载的文件或存储设备
第二列:要挂载在哪里? /data
第三列:指定文件系统或分区的类型,ext3
第四列:挂载选项
auto:系统自动挂载 fstab默认就是这个选项
ro:只读属性
rw:读写
defaults:rw,suid,dev,exec,auto,nouser,async
第五列:dump选项
设置是否让备份程序dump备份文件,0忽略 1备份
第六列:fsck选项
什么顺序检查文件系统,0忽略