㈠ linux ext4 /opt分区调整磁盘至/home分区
1、df -h 查看文件系统
找到需要削减磁盘空间的分区,挂载的文件系统
本文以如下挂载为例:
/opt是 /dev/mapper/systemvg-optlv
/home是 /dev/mapper/systemvg-homelv
2、卸载需要减小的分区
umount /opt
如遇到 umount: /opt: device is busy 报错,可使用 fuser -m /opt 查看占用的用户进程,使用kill -9 杀死相关进程
3、对/opt的分区进行文件系统检查
e2fsck -f /dev/mapper/systemvg-optlv
4、将/opt的分区缩容至目标大小
resize2fs /dev/mapper/systemvg-optlv 15G
5、重新挂载/opt
mount /opt
6、缩小逻辑卷
lvrece -L 15G /dev/mapper/systemvg-optlv
7、扩展 /home挂载文件系统逻辑卷大小
lvextend -l +100%FREE /dev/mapper/systemvg-homelv
8、重新计算/home的文件系统
resize2fs -p /dev/mapper/systemvg-homelv
9、df -h 验证结果
㈡ Linux磁盘挂载和扩容(1)
本章我们先介绍Linux服务器磁盘挂载,下期介绍Linux磁盘扩容问题。
Linux磁盘挂载有两种情况
1. 小于2T磁盘挂载
2. 大于2T磁盘挂载
下面我们分别介绍两种情况的挂载方式
以下磁盘名称都以/dev/sdc为例
挂载小于2T的磁盘也分两种
第一种,直接挂载裸盘,此刻就不用创建分区
在这种情况下,可以直接格式化磁盘,我们这里用ext4格式,当然也可以使用xfs格式
1)格式化分区
2)挂载磁盘
在挂载磁盘之前为了防止机器重启的时候没有加载磁盘,我们需要添加配置文件
1)创建分区
在这种情况下,我们需要先将裸盘创建分区,需要使用fdisk命令
以下都是按照实际运维工作中使用的介绍,还有特殊情况可以自行搜索文档研究。
3) 挂载分区
和上面一样,挂载大于2T的磁盘也分裸盘和分区
第一种,挂载裸盘的话,和小于2T一样,不涉及分区情况,可以直接挂载,具体挂载方式可以参考小于2T的裸盘挂载方式
下面具体说一下第二种,磁盘分区挂载
这种方式已经不能使用fdisk工具了,fdisk只适合划分2T一下的磁盘,此刻需要用到的工具是parted
1)建立磁盘标签GPT
parted /dev/sdc
查看当前磁盘信息
print 可以看到磁盘还没有分区
我们这里使用创建主分区,并且使用全部磁盘
mkpart primary 0% 100%
4) 挂载磁盘
这里也参考上面的磁盘挂载,写入配置文件/etc/fstab,这里为了简便,我直接在命令行挂载了。
此时可以看到磁盘已经挂载
㈢ Linux-8 磁盘分区和挂载
1,最多支持4个主分区
2,系统只能安装在主分区
3,扩展分区要占一个主分区
4,MBR最大只支持2TB,但拥有最好的兼容性
1,支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
2,最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
3,windows7 64位以后支持gtp
1,linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,linux中每个分区都是用来组成整个文件系统的一部分。
2,linux采用了一种叫”载入“的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
1,Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
2,对于IDE硬盘,驱动器标识符为"hdx",其中"hd"表明分区所在设备的类型,这里是指IDE硬盘了。”x“为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),”~“代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
3,对于SCSI硬盘则标识为"sdx",SCSI硬盘是用”sd“来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
查看系统的分区和挂载的情况
需求:给linux系统增加一个新的硬盘,并且挂载到/home/newdisk
1,虚拟机添加硬盘
2,分区(fdisk /dev/sdb)
3,格式化(mkfs -t ext4 /dev/sdb1)
4,挂载(mount /dev/sdb1 /home/newdisk)(注:此方式是临时挂载,重启电脑后会没掉)
5,设置可以自动挂载(永久挂载):修改vim /etc/fstab 文件。
查询系统整体磁盘使用情况
查询指定目录的磁盘占用情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
1,统计/home文件夹下的文件的个数
ls -l /home | grep "^-" | wc -l
2,统计/home文件夹下目录的个数
ls -l /home | grep "^d" | wc -l
3,统计/home文件夹下文件的个数,包括子文件夹里的
ls -lR /home | grep "^-" | wc -l
4,统计文件夹下目录的个数,包括文件夹里的
ls -lR /home | grep "^d" | wc -l
5,以树状显示目录结构
yum install tree
tree
㈣ linux下如何实现自动挂载
基本上所有linux
发行版在启动系统时都是根据/etc/fstab文件的配置来挂载分区的。在/etc/fstab中,根据不同格式的分区,其挂载参数也不同,参数不同其结果不同,包括用户的读写权限。
1、对于fat32格式分区,向/etc/fstab中加入下面的内容:
/dev/sdax
/media/y
vfat
user,rw,utf8,umask=000
0
0
说明:/dev/sdax可以以管理员身份通过命令fdisk-l得知,只要找你需要挂载的那个分区即可。/media/y这是一个文件夹,应该提前建立好。”user,rw”是说用户可进行读写操作。utf8这个可以说是必要的,因为往往有一些windows的文件夹是中文名的,而在windows下是gbk的编码方式,在linux下挂载就会看到乱码,加上utf8的参数将中文自动转换成utf8显示,可以有效的避免乱码问题。umask=000说明对所有用户赋予了读写操作,也就是说挂载之后普通用户也可进行操作。最后有两个0通过空格隔开,这两个0中的后者决定了开机是否检查,如果需要检查则将其改为1。
2、对于ext3、ext4等linux分区格式,可以向/etc/fstab中加入下面的内容:
/dev/sdax
/media/y
ext3
defaults
0
1
/dev/sdax
/media/y
ext4
defaults
0
1
/dev/sdax
/media/y
jfs
defaults
0
1
上面这几行分别对应了ext3、ext4和jfs的挂载语句,具体请根据您自己的分区情况来修改。这几句中,x与y的含义同上,default参数说明按照默认格式挂载,后面的0和1就说明开机要检查。
3、ntfs格式分区,比较麻烦,首先请安装ntfs-3g这个软件,如果不安装这个软件将不能对ntfs格式分区进行读写。安装之后将如下内容添加到/etc/fstab中:
/dev/sdax
/media/y
ntfs-3g
defaults
0
0
此处x与y的含义同上,值得说明的是ntfs-3g后的参数,如下:
users
–
假如ntfs-3g可执行文件设置了suid
root(命令:chmod
u+s
/bin/ntfs-3g
)
,则允许任何人挂载/卸载ntfs分区。请注意,你要用users而不是user
uid
–
指定ntfs分区中文件和目录的拥有者(用十进制数表示)
gid
–
指定ntfs分区中文件和目录的用户组(用十进制数表示)
fmask
–
文件权限(八进制数掩码)
dmask
–
目录权限(八进制数掩码)
locale
–
曾经用来让使用国际化字符集的文件可见。在ntfs-3g2009.1.1和更新的版本中已不再需要。
noauto
–
启动时不要自动挂载分区。
㈤ Linux 分区新建,格式化、挂载
Linux系统有一个理念:“一切皆文件”,所以计算机的硬件在linux中也是以“文件”的形式存在于/dev目录中。
比如,光驱对应的文件是/dev/cdrom,CPU对应的文件是/dev/cpu。而硬盘对应的是/dev/sd*。第一块硬盘是/dev/sda,第二块磁盘是/dev/sdb。
IDE磁盘的设备文件采用/dev/hdx 来命名,分区则采用/dev/hdxy来命名,其中想表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),与代表分区的号码(由1开始,1,2,3,以此类推)
SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IED磁盘命名规则一样)。
A、对IED接口
第一主盘:hda第一从盘:hdb 第一从盘第一分区:hdb1
B、对SCSI接口
第一主盘:sda 第一从盘:sdb 第一从盘第一分区:sdb1
但是一个磁盘通常又被分成多个分区,所以在磁盘文件的后面加上分区的序号来对应这个分区。参考下面的表格中的例子。
Linux磁盘分区与文件系统类常用命令
介绍2种分区表:
所支持的最大卷:2T (T; terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区。
MBR分区的原理:
MBR:主引导扇区
主分区表:64bytes,最多只能分四个主分区,每个主分区的记录(相关信息,比如分区大小,位置)在主分区表里占14bytes。
如 果要建多于四个的分区,就要拿出一个主分区做为扩展分区,再在扩展分区里面进行其它的分区操作。在 建扩展分区的时候会建立一张对应的扩展分区表,它记录了在这个扩展分区里的分区的相关信息;理论上它没有分区数量的限制,在扩展分区内部的分区叫做逻辑分 区,如上图中的 /dev/hda5,/dev/hda6/,/dev/hda7
格式化原理:
在 分好区后,分区里面是空的,没有任何东西。为了能让OS识别,就必须要向分区里写入相应格式的数据。
比如windows的 FAT32,NTFS,Linux的ext2,ext3,ext4
Windows/dos常用的分区工具:fdisk/partition magic/diskpart
Linux下常用的分区工具:
fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中
diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
所以如果要大于2TB的卷或分区就必须得用GPT分区表。
Linux下fdisk工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。
fdisk工具用的话,会有下面的警告信息:
下面是用parted工具对/dev/sda做GPT分区的过程:
如果我们的磁盘是2T以下的,但是分区表示GPT格式,我们也可以使用parted 命令将该分区表删除, mklabel msdos 这条命令就是用来删除 part分区 ,将GPT分区表删除后,再来使用 fdisk 建立MBR分区表,可以参考 https://www.xiaohuai.com/4870
mkfs - 支持ext2、ext3(日志)、ext4、vfat、msdos、jfs、reiserfs等
用法1:mkfs -t <fstype> <partition>
用法2:mkfs.<fstype> <partition>
ps:格式化分区之后,可以使用e2label命令给分区添加卷标
e2label 分区路径 卷标名
查看已经挂载的分区
或者
使用 mount 命令挂载
使用umount卸载分区时,可以指定挂载点,也可以指定挂载的路径, 卸载分区umount命令格式:
umount [option] special | node
或者
PS: 处理umount的时候显示 device busy?
这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
CODE:
选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。
linux系统在启动时,会从/etc/fstab文件自动挂载分区。
如下是一个fstab文件的示例。
fstab中,每条配置信息都分为固定的6个部分
[1]: 分区路径,或者UUID
[2]: fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。
[3]: fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext4 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、isoArray600等。在不确定的情况下可以使用auto。
[4]: fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。
对于大多数系统使用"defaults"就可以满足需要。不多说。
[5]: fs_mp - 该选项被"mp"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设
置该字段为0
[6]: fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字
段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0
参考