Linux磁盘挂载、分区、扩容操作的实现方法

 更新时间:2018年12月02日 09:44:22   作者:Rootrl  
这篇文章主要介绍了Linux磁盘挂载、分区、扩容操作的实现方法,详细的介绍了这些基础概念及其实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

基本概念

在操作前,首先要了解一些基本概念

磁盘

在Linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 …,sdb、sdb1…,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是以ha命名。

sda:第一块硬盘,如果对磁盘进行了分区会有sda1(第一个分区),sda2等。

sdb:第二个硬盘,同样对硬盘分区后有sdb1,sdb2等。

分区

分区的目的就是便于管理,比如在Windows系统我们一般会分C盘,D盘,E盘等。

Linux只能创建4个主分区,如果需要创建更多的分区那么久必须创建逻辑分区,其中逻辑分区需要占用一个主分区。

文件系统

Linux中的文件系统也就是分区类型,在Windows中有NTEF,FAT32等,linux中常见的有Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs等,可以通过mount命名查看当前已挂载的文件系统。

格式化

在前面创建完分区后有一步是要对分区进行格式化,其实在Windows系统中也是一样,在创建好一个分区后也需要将分区格式化,只有格式化成具体的文件类型才能使用。

挂载

在Windows中分区格式化后就可以使用,但是在Linux系统中必须将分区挂载到具体的路径下才可以。

常用命令

lsblk  查看当前磁盘情况
df -lh  查看文件系统情况 -l 查看挂载点
parted -l 会列出文件系统类型
fdisk -l 查看当前未挂载硬盘

挂载新硬盘

挂载一个新硬盘基本思路是:创建分区、创建文件系统、挂载。

一、查看新硬盘

首先,查看硬盘状况:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Linux多线程锁属性设置方法

    Linux多线程锁属性设置方法

    下面小编就为大家带来一篇Linux多线程锁属性设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • CentOS 5.5使用yum来安装LAMP(php运行环境)

    CentOS 5.5使用yum来安装LAMP(php运行环境)

    今天用yum方法搭建起了个LAMP环境,中间遇到了很多问题,经过google和各位前辈的帮助,终于将环境搭建起来,现在把完整的步骤记录下来,
    2010-09-09
  • 详解Keepalived安装与配置

    详解Keepalived安装与配置

    这篇文章主要介绍了详解Keepalived安装与配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 详解Linux下crontab的使用与注意事项

    详解Linux下crontab的使用与注意事项

    这篇文章主要介绍了详解Linux下crontab的使用与注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • linux Vim基本操作方法

    linux Vim基本操作方法

    Ubuntu的Vi也不好用,搞了个Vim用来学习了,简单记录下它的基本操作。还有一本相关的电子书可下载。
    2013-11-11
  • linux之如何查找包含指定关键字的文件

    linux之如何查找包含指定关键字的文件

    这篇文章主要介绍了linux之如何查找包含指定关键字的文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • centos yum php 7.x 无需删除升级的方法

    centos yum php 7.x 无需删除升级的方法

    下面小编就为大家分享一篇centos yum php 7.x 无需删除升级的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 在Ubuntu20.04 LTS中配置Java开发环境

    在Ubuntu20.04 LTS中配置Java开发环境

    这篇文章主要介绍了在Ubuntu20.04 LTS中配置Java开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Linux下完全删除用户的两种方法

    Linux下完全删除用户的两种方法

    这篇文章主要介绍了Linux下完全删除用户的两种方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • 手把手教你启用Win10的Linux子系统(图文超详细)

    手把手教你启用Win10的Linux子系统(图文超详细)

    这篇文章主要介绍了手把手教你启用Win10的Linux子系统(图文超详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论