当前位置: 首页 > Linux

Linux磁盘挂载、分区、扩容操作

时间:2023-04-07 01:24:38 Linux

本文首发于Rootrl的博客注:以下操作系统环境为CentOS7的基本概念。在操作之前,首先要了解一些基本概念。形式存储。设备一般存放在/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、Linuxswap、proc、sysfs、tmpfs等,可以通过命名上传的文件系统查看当前挂载情况。格式化分区创建好后,第一步就是格式化分区。其实在Windows系统中也是一样的。创建分区后,还需要对分区进行格式化。只有格式化成特定的文件类型才能使用。在Windows中格式化分区后即可使用挂载,但在Linux系统中必须将分区挂载到特定路径。常用命令lsblk查看当前磁盘状态df-lh查看文件系统状态-l查看挂载点parted-l会列出文件系统类型fdisk-l查看当前未挂载的硬盘挂载新的硬盘挂载新硬盘的基本思路是:创建分区,创建文件系统,挂载。1、检查新硬盘首先检查硬盘的状态:fdisk-l其中:如果有类似:Disk/dev/sdcdoesn'tcontainavalidpartitiontableunderthedisk;这里挂载假设硬盘名为/dev/sdb。其次,创建分区fdisk/dev/sdb。根据提示依次输入“n”、“p”、“1”,按两次回车。“wq”表示新建一个masterPartition(1),大小为整个sdb盘,然后写入。注意:为简单起见,上述操作只创建了一个主分区。事实上,一个磁盘最多有四个主分区(包括一个扩展分区),其中1-4个是主分区。我们也可以将一个分区作为扩展分区(df-lh检查的系统是Extended)。此时磁盘已经分区,但是还没有文件系统,磁盘仍然不能使用。3.写入系统mkfs.ext4/dev/sdb该命令会格式化磁盘并写入文件系统4.挂载,例如挂载到/datamkdir/data#如果有这一步,则省略mount/dev/sdb/data5.设置启动时自动挂载以上只是临时挂载,需要设置为启动时自动挂载vim/etc/fstab#然后在内容末尾加一行(注意文件类型应该是对应的):/dev/sdb/dataext4defaults00Expansion关于挂载到一个已经存在的目录如果你要挂载的目录不为空,那么文件系统挂载后,原目录下的东西willbe会暂时消失。它没有被覆盖,只是暂时隐藏。删除新分区后,原来目录的内容又会出来。如果想永久挂载已有的目录,可以在新硬盘上创建文件系统后挂载到一个临时目录,然后将要扩展的目录复制到这个临时目录,然后删除要扩展的目录,然后卸载临时挂载点,重新挂载到需要扩展的目录。例如:#例如扩展/var#创建文件系统后创建一个新的临时挂载点storagemkdir/storage#mount/dev/sdb1to/storagemount/dev/sdb1/storage#复制/var下的所有内容到新硬盘cp-pdr/var/storage#或在/var目录下执行:find.-深度打印|cpio-pldvm/temp#删除当前/var目录的内容rm-rf/var/*#restart挂载硬盘到/var目录umount/dev/sdb1mount/dev/sdb1/var#如果磁盘忙在此过程中,使用fuser找出正在使用磁盘的程序并结束它;fuser-m-v/varfuser-m-v-i-k/varexpansion如果扩展比较频繁,建议使用LVM管理(最后一个参考链接)参考http://www.cnblogs.com/chenmh...https://segmentfault.com/a/11...https://blog.csdn.net/wzb56_e...https://www.cnblogs.com/source...http://www.cnblogs.com/gaojun...