本文最先发布于 Rootrl's bloghtml
注:如下操做系统环境为CentOS7linux
在操做前,首先要了解一些基本概念git
在Linux系统中全部的设备都会以文件的形式存储。设备通常保存在/dev目录下面,以sda、sda一、sda2 ...,sdb、sdb1...,hda,hdb。如今的设备通常都是sd命名,之前的很老的硬盘是以ha命名。
sda:第一块硬盘,若是对磁盘进行了分区会有sda1(第一个分区),sda2等。
sdb:第二个硬盘,一样对硬盘分区后有sdb1,sdb2等。github
分区的目的就是便于管理,好比在Windows系统咱们通常会分C盘,D盘,E盘等。vim
Linux只能建立4个主分区,若是须要建立更多的分区那么久必须建立逻辑分区,其中逻辑分区须要占用一个主分区。segmentfault
Linux中的文件系统也就是分区类型,在Windows中有NTEF,FAT32等,linux中常见的有Ext二、Ext三、Ext四、Linux swap、proc、sysfs、tmpfs等,能够经过mount命名查看当前已挂载的文件系统。centos
在前面建立完分区后有一步是要对分区进行格式化,其实在Windows系统中也是同样,在建立好一个分区后也须要将分区格式化,只有格式化成具体的文件类型才能使用。bash
在Windows中分区格式化后就可使用,可是在Linux系统中必须将分区挂载到具体的路径下才能够。操作系统
lsblk 查看当前磁盘状况 df -lh 查看文件系统状况 -l 查看挂载点 parted -l 会列出文件系统类型 fdisk -l 查看当前未挂载硬盘
挂载一个新硬盘基本思路是:建立分区、建立文件系统、挂载。.net
首先,查看硬盘情况:
fdisk -l
其中:
若是磁盘下面有相似:Disk /dev/sdc doesn't contain a valid partition table;或者说磁盘下面没有相似于:sdb1 sdb2 说明该磁盘未挂载
这里假设看到硬盘名为 /dev/sdb
dfisk /dev/sdb
根据提示,依次输入"n","p" "1",两次回车,"wq"
意思就是新建一个主分区(1),大小是整个sdb磁盘,而后写入。
注:上述操做为了简便,只是建立一个主分区。其实一个磁盘最多有四个主分区(包括一个扩展分区),1-4都是主分区,咱们也能够把一个分区做为扩展分区(经过df -lh 查看到的system为Extended)
此时磁盘已经分区,可是尚未文件系统,磁盘依然不能用
mkfs.ext4 /dev/sdb
该命令会格式化磁盘并写入文件系统
好比挂载到/data下面
mkdir /data # 若是存在此步省略 mount /dev/sdb /data
以上只是临时挂载,还需设置为开机自动挂载
vim /etc/fstab # 而后在内容结尾处增长一行(注意文件类型要对应): /dev/sdb /data ext4 defaults 0 0
若是你要用来挂载的目录里面并非空的,那么挂载了文件系统以后,原目录下的东西就会暂时的消失。并非被覆盖掉,而是暂时的隐藏了起来,等到新分割槽被卸除以后,则原目录本来的内容就会再次出来。
若是要永久挂载已有目录,能够在新硬盘建立文件系统后,先挂载到一个临时目录,而后把要扩展的目录复制到这临时目录,而后删除要扩展的目录,再卸载临时挂载点,从新挂载到要扩展的目录上。举例:
# 好比要扩充 /var # 在建立好文件系统后 新建临时挂载点 storage mkdir /storage # 将/dev/sdb1挂载到/storage下 mount /dev/sdb1 /storage # 拷贝/var下的全部内容到新的硬盘 cp -pdr /var /storage # 或在/var 目录下执行:find . -depth -print | cpio - pldvm /temp # 删除当前/var目录下的内容 rm -rf /var/* # 从新挂载硬盘到/var目录 umount /dev/sdb1 mount /dev/sdb1 /var # 过程当中若提示磁盘忙,使用fuser找出将正在使用磁盘的程序并结束掉; fuser -m -v /var fuser -m -v -i -k /var
若是扩容比较频繁,那推荐使用LVM管理(最后一个参考连接)
http://www.cnblogs.com/chenmh...
https://segmentfault.com/a/11...
https://blog.csdn.net/wzb56_e...
https://www.cnblogs.com/sourc...
http://www.cnblogs.com/gaojun...