Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

目录

  1. 文件系统功能介绍
  2. windows文件系统相关
    1. windows文件系统查看
    2. 磁盘初始化方式
  3. Linux磁盘分区相关
    1. 查看Linux的磁盘设备文件
    2. Linux手工分区
      1. 手工分区简介
      2. MBR手工分区
      3. GPT手工分区
      4. 扩展分区和逻辑分区
    3. Linux自动分区
  4. 分区格式化与文件系统挂载
    1. 格式化Linux分区
    2. Linux文件系统挂载
    3. Linux文件系统的持久性(持续性)挂载
  5. 逻辑卷详解
    1. 逻辑卷简介
    2. 物理卷的创建与删除
      1. 创建物理卷
      2. 删除物理卷
    3. 卷组的创建、扩容和删除
      1. 卷组的创建
      2. 卷组的扩容
      3. 卷组的删除
    4. 逻辑卷的创建、扩容和删除
      1. 逻辑卷的创建
      2. 逻辑卷的扩容
      3. 逻辑卷的删除
  6. swap分区
  7. Linux网络文件系统
  8. autofs按需挂载
  9. Linux的tuned调优
    1. tuned简介
    2. tuned的基本操作
    3. tuned的基本模式

1. 文件系统功能介绍

定义:是一个组织文件系统,硬盘是不能直接存放文件的,需要将硬盘格式化并且指定格式化后的文件系统,才可以存放数据。
只需要知道文件系统的作用即可,并且不同文件系统的存放方法、算法以及优化等方式都可能不同。

2. windows文件系统相关

2.1 windows文件系统查看

windows安装过程中,其自带的驱动会识别出来计算机的硬盘。windows硬盘分区,Windows挂载硬盘可以通过分配盘符和挂载到某一目录两种方式实现。

2.2 磁盘初始化方式

磁盘初始化主要有MBR和GPT两种,区别是MBR初始化的磁盘当想建立第四个主分区的时候(且所有主分区的最大值为2T),第四个分区会变成逻辑分区,会将剩下的所有空间划分成扩展分区,然后在扩展分区中划出一部分作为逻辑分区,而GPT的初始化则最多可以达到1024个主分区加扩展分区(GPT单个分区的最大值为18EB=1810241024T)。
MBR(主引导记录):是装有操作系统的第一个扇区,即如果磁盘选择以MBR方式进行初始化,那么其第一个扇区一定是512B,每个表项16字节,共64字节,也是因为这个原因,导致了MBR最多只能有四个分区。

3. Linux磁盘分区相关

3.1 查看Linux的磁盘设备文件

在vmworkstation workstation 15中,右击该虚拟机名称->设置中,在打开的设置窗口中,点击添加->硬盘可以直接添加硬盘。其中SATA和SCSI类型的硬盘都会被识别成/dev/sd*,IDE(ATA)硬盘,在早期的Linux版本中会被识别成/dev/hd*,例如第一块IDE硬盘会被识别为/dev/hda,第二块IDE硬盘会被识别为/dev/hdb,以此类推,SCSI/SATA硬盘同理。
对于SCSI和SATA来讲,第一块磁盘的第一个分区就是/dev/sda1,第二块磁盘下的第二个分区就是dev/sdb2,也就是说第n块硬盘下的第x个分区就是/dev/sdnx,其中n表示a、b、…、z,x表示1、2…。以下面Linux系统查看到的信息为例:
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

在上图中,共有一块SATA/SCSI类型的硬盘,被识别为/dev/sda,该硬盘被分为两个分区,分别为/dev/sda1/dev/sda2,没有IDE类型的硬盘。

3.2 Linux手工分区

3.2.1 手工分区简介

Linux想使用磁盘的步骤是一样的,主要分为加硬盘->分区域->格式化->挂载这几个步骤。对于服务器来说,磁盘从使用目的来说大概分为三种,第一种是用来存放操作系统的,此类硬盘应该只存放操作系统以及系统配置文件,剩下任何数据都不应该主动存放在此硬盘中;第二种是用来存放本地大文件,一般这种磁盘我们叫做本地存储盘;第三种是用来存放本地大文件,但是没有真正存放在本地,而是使用了网络存储(SAN->storage area network),一般这种磁盘我们叫做网络存储。
在Linux中,如果采用MBR分区,就是用fdisk命令,如果采用GPT分区,则采用gdisk命令。

3.2.2 MBR手工分区

命令:

  1. fdisk -l 磁盘名:查看当前指定磁盘的分区情况
    实例:
    Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
    可以看到,sda磁盘被分为两个区,其中一个是sda1,一个是sda2分区,其中start列表示起始扇区,end列表示结束扇区,blocks表示总blocks数目。
  2. fdisk 硬盘:为一个交互式命令,该命令所有的操作都是先保存到内存中,等到最后使用w提交时,才会真正生效。使用该命令时,会自动对硬盘进行初始化。
    实例:
    Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
    在进入交互式命令后,使用命令,可以调出帮助手册,其中常见参数说明如下:
    1. n:添加一个新分区
    2. l:列出当前支持的分区种类
    3. p:列出当前状态所有分区
    4. t:修改当分区类型
    5. d:删除一个分区、

实例: 添加分区,这里是添加一个大小为2G且从2048个扇区开始的分区,最后使用w来提交使操作生效。
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

注: 创建分区时,由于每个分区其扇区(sector)必须连续,所以最好从默认的扇区开始进行分区,不让中间有扇区被空下来(即被两个分区隔断)。

3.2.3 GPT手工分区

由于当硬盘的大小超过2T时,就不能使用MBR分区了,所以在Linux中使用fdisk命令对超过2T的磁盘进行格式化时就会报错,此时就必须使用GPT即gdisk命令对磁盘进行格式化和分区。gdisk命令的使用方法和fdisk类似,其实现自动分区的方法也一样,都是通过提前将操作写入文件中然后通过输入重定向来完成。
实例: 创建GPT分区
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

3.2.4 扩展分区和逻辑分区

以MBR类型创建第四个分区时,会默认让再将所有剩余空间创建为一个扩展分区,这样就可以在扩展分区中再创建逻辑分区,相当于变相的解决MBR格式分区数量被限制的问题。 如果仍使用主分区,则必须将所有空间一次分配完,否则剩余的空间将会浪费掉。

3.3 Linux自动分区

可以使用输入重定向来实现让fdisk命令进行自动分区的操作,例如创建一个名为partion的文件,内容如下:

n
p
1

+1G
w

然后使用命令fdisk /dev/硬盘 < partion就可以直接实现划分一个大小为1G,磁盘号为1的主分区。

4. 分区格式化与文件系统挂载

对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的,Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。

4.1 格式化Linux分区

Linux分区的文件系统通常有ext系列(ext2、ext3等)、xfs、btrfs等,一般来讲,Linux分区的文件系统目前还是常用ext4(该文件系统单个文件大小不能超过1T),不过centos7和rhel7开始,默认的安装文件系统就是xfs了。
格式化文件系统可以通过mkfs命令来实现,例如:

mkfs.ext2 /dev/sda1  # 将sda硬盘下的第一个分区格式化为ext2

实例:实例添加的分区/dev/sdb1为例,相应的格式化如下:
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
在格式化分区后,可以将磁盘读写的粒度放大(为格式化前,磁盘分区的读写是以sector(扇区)为单位的)。格式化后,会立刻将一部分空间作为inode节点空间(inode节点用来存放文件的元数据和该文件block的所在位置,元数据即文件的属性),将剩下的空间划定为block(用来存放文件内容),一个block包含了多个扇区(1bock=2^n 个扇区),即单个block越大(含的sector越多),则粒度越大,磁盘的读取效率越高,但是浪费的空间越多(因为一个block只能存储一个文件中的部分内容)。
完成格式化后,后面再操作文件时,就会直接通过inode来进行操作,而当文件系统的inode用完了,则将不管磁盘是否有剩余空间,都不能再向其中新建文件了。

4.2 Linux文件系统挂载

可以通过命令mount来实现文件系统的挂载,格式为:

mount -t 文件系统类型 文件系统所在分区的路径 文件系统挂载点

如果是Linux原生的文件系统,则不需要使用-t参数进行指定,因为Linux可以自动识别出该文件系统,例如ext系列文件系统。
实例: 挂载上面新创建的sdb1至/mnt/point1
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
如果直接输入mount命令,则列出的是当前系统的所有挂载情况。
查看当前系统的挂载点情况可以通过df命令完成,加-h-H参数可以使结果更加易于阅读,-i参数可以查看inode节点的使用情况。

4.3 Linux文件系统的持久性(持续性)挂载

上面所述的mount命令,只是临时挂载,当系统重启后,就需要重新挂载,如果想进行永久挂载,就需要将挂载信息写入/etc/fstab文件中,由于该文件特别重要,所以编辑该文件时必须先进行备份,防止误操作。
该文件的格式如下:

  1. 第一列为文件系统所在分区路径
  2. 第二列为文件系统挂载点
  3. 第三列为文件系统类型
  4. 第四列为挂载参数
  5. 第五列和第六列通常为0,只有挂载一些特殊的文件系统时,才需要进行变动

实例:/dev/sdb1永久挂载在/mnt/point1

  1. 打开/etc/fstab文件,写入如下内容,保存退出
    Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
  2. 输入mount -a命令将fstab文件中新增加的挂载记录自动挂载到Linux系统中,已挂载的且已在fstab文件中记录的,则会被自动忽略,通过下图可以看到,此时相应分区已经挂载成功:
    Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

完成上面两步后,再重启Linux系统,会看到新增加的记录已经被挂载了。
针对于.iso文件的挂载,通过ll命令可以看到/dev/cdrom是一个指向/dev/sr0的软连接,挂载时向fstab文件输入如下内容:

/dev/sr0   /mnt/iso    iso9660   defaults 0 0

然后通过mount -a命令就可以完成挂载了。
注:/dev/disk/by-uuid下记录了所有硬件设备的uuid,而通过uuid也可以对设备进行挂载,用来代替文件系统所在分区的路径。而通过名称来进行挂载也是通过查找uuid来进行挂载的。具体如下:
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

5. 逻辑卷详解

5.1 逻辑卷简介

如果对磁盘直接使用fdisk分区,那么这种分区叫做Linux的标准分区,Linux的标准分区如果被格式化成文件系统后,挂载使用,那么一旦文件系统的空间满了,是无法扩容的,只能将数据备份到其他地方,然后创建一个容量更大的文件系统,再将数据放入该系统中,这种方法效率极低。而逻辑卷的出现,就解决了这种问题。
其解决方案具体为再分区时不直接格式化磁盘,而是将其加入到物理卷(PV Physical Volume)中,然后再在物理卷中创建卷组(VG Volume Group),在卷组中挂载逻辑卷(LG Logical Volume)。由于可以往物理卷中加入磁盘或者分区,所以理论上物理卷是无限大的,故此就可以创建无数个卷组,在一个卷组中可以创建多个逻辑卷。 每一个逻辑卷就相当于一个分区,通过将逻辑卷格式化为文件系统后进行挂载,就可以使用了。
当逻辑卷空间不够时,就可以通过向卷组请求空间来进行扩容,卷组空间不够就向物理卷请求空间, 从而解决了标准分区用满后不能直接扩容的问题。

5.2 物理卷的创建与删除

5.2.1 创建物理卷

首先,对磁盘进行分区(方法如上所述)(不分区也可以,创建物理卷时直接使用硬盘路径即可),然后通过命令pvcreate命令来创建物理卷了,格式为pvcreate 分区所在路径/硬盘
实例: 创建物理卷
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
通过pvs命令即可查看创建的物理卷,通过pvdisplay命令可以查看物理卷的详细信息,格式为pvdisplay 物理卷所在路径
实例: 查看sdb详细信息
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作

5.2.2 删除物理卷

通过pvremove命令可以直接删除物理卷,格式为pvremove 物理卷所在路径

pvremove 物理卷所在路径
# 实例:删除sda1物理卷
pvremove /dev/sda1

== 实例:== 删除物理卷sdb
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
注: 如果物理卷已被卷组使用,则无法删除。

5.3 卷组的创建、扩容和删除

5.3.1 卷组的创建

通过vgcreate 卷组名 物理卷路径来创建卷组,卷组中的最小单位是PE(Physical Extended),即物理扩展,可以通过-s参数指定。
实例: 在磁盘sdb上面创建卷组vg1,且指定pe大小为8Mb
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
注: vgcreate最后指定的路径必须是在物理卷里,在较新的版本中,如果后面指定的路径不在物理卷里,会自动将后面的分区/磁盘加入物理卷中。

5.3.2 卷组的扩容

通过命令vgextend 卷组名 分区/磁盘所在路径就可以实现对指定卷组的扩容,例如vgextend vg1 /dev/sdb表示将物理卷中的sdb直接划入到卷组vg1中,从而实现了对对卷组vg1的扩容。

5.3.3 卷组的删除

通过命令vgremove 卷组名就可以删除卷组了,和物理卷类似,当vg中有逻辑卷在使用时,vg是无法删除的。

5.4 逻辑卷的创建、扩容和删除

5.4.1 逻辑卷的创建

通过命令lvcreate -n 逻辑卷名 -L 逻辑卷大小 卷组名来创建逻辑卷。
实例: 在卷组vg1中创建一个大小为20G、名为lv1的逻辑卷
Linux磁盘分区、逻辑卷、网络文件系统、autofs以及tuned相关简介和常用操作
注: 逻辑卷创建完成后,就可以直接格式化为文件系统使用了,如果卷组下面创建了一个新的逻辑卷,那么该逻辑卷就会自动在设备文件路径出现/dev/vgname/lvname。如上面的lv1路径为:/dev/vg1/lv1,其是一个软连接,指向/dev/dm*,所以也就说明,dev下面的dm(device mapper)设备表示的就是逻辑卷。
通过lvs可以查看逻辑卷的详情。

5.4.2 逻辑卷的扩容

通过命令lvextend 逻辑卷所在路径 -L 扩容大小就可以实现对逻辑卷的扩容,例如lvextend /dev/vg1/lv1 -L 300M表示将上面的逻辑卷lv1扩容300M(实际大小必为PE的整数倍)。扩容完成后再通过命令resize2fs 挂载点所在路径/逻辑卷所在路径将扩充的容量加入到文件系统中,这样就可以使用了,针对例子,相应的命令为:resize2fs /dev/vg1/lv1,执行完成后,就可以使用df命令查看相应的逻辑卷容量已经变化。

5.4.3 逻辑卷的删除

通过lvremove 逻辑卷所在路径就可以直接删除逻辑卷,例如lvremove /dev/vg1/lv1就可以直接删除上面创建的逻辑卷。

6. swap分区

swap分区也叫虚拟内存,其是在硬件内存资源不够的时候将磁盘部分容量当作内存来使用。创建swap分区时,主要有以下几步:

  1. 使用命令fdisk创建分区;
  2. 使用命令mkswap 分区所在路径来格式化该分区;
  3. 进入到etc/fstab文件中,按照格式swap文件系统的分区所在路径 swap swap defaults 0 0添加创建的分区即可;然后使用命令swapon -a来完成对swap分区的挂载操作。而命令swapoff -a则可以卸载全部分区。还可以在命令后面直接加分区所在路径来挂载/卸载指定分区,例如swapon /dev/sdb1表示挂载/dev/sdb1swap分区。

7. Linux网络文件系统

Linux网络文件系统也叫nfs(network file system),在rhel中想要搭建网络文件系统,总共分为以下步骤:

  1. 首先要在客户端和服务端系统中从系统安装镜像中安装nfs-utilsvim
  2. 在需要共享的服务器系统中编辑etc/exports文件,格式如下:
	要共享的目录  要共享的网段(权限)
	# 实例:将服务器上的/root/share_file目录共享到网段192.168.136.0网段,权限为读和写
	/root/share_file 192.168.136.0/24(rw)
  1. 使用命令systemctl restart nfs-server重启nfs文件系统服务
  2. 在客户端创建网络文件系统的挂载点,这里创建/mnt/nfs-client目录;
  3. 使用命令mount -t nfs nfs服务端ip地址:/root/share_file /mnt/nfs_client挂载共享的网络文件系统,如果要实现nfs的持久性挂载,也需要在/etc/fstab文件中进行添加。

注: 也可以在服务端创建一个新的分区,然后将该分区先挂载到服务端,然后将服务端的挂载点分享出去,这样就可以控制分享出去的空间的大小(因为如果是真实目录,则共享出去的可用空间为该目录所在文件系统容量的大小)。

8. autofs按需挂载

想要使用该功能,先要先使用命令yum -y install autofs来安装autofs(其安装包位于rhel的镜像中),其主要的配置文件为/etc/auto.master,其默认内容如下:

/misc    /etc/auto.misc 

其中/misc表示挂载点父目录;etc/auto.misc表示该挂载点父目录相应的配置文件,当使用命令systemctl start autofs启动autofs后,就会在相应目录下看到父目录(这里为根目录下的misc目录)。
/etc/auto.misc文件中则记录了挂载什么样的设备,例如挂载cdrom设备,且将其挂载到temp目录下,则可以写为:temp -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom,这样,当autofs启动后,就会多出一个挂载点父目录,然后在父母录中使用命令ls 挂载点目录后,就会将其自动挂载(其他命令也可以,只要能操作挂载点目录即可)。如果需要挂载其他设备,则可以按照如下格式,在/etc/auto.master文件中按如下格式添加相应内容,然后以auto.misc文件为示例创建相应的配置文件即可。

# auto.master  格式(超时表示超过指定秒数无操作即自动卸载)
挂载点父目录   记录挂载信息的配置文件   --timeout 秒数  

9. Linux的tuned调优

9.1 tuned简介

tuned是一项守护程序,它会使用udev来监控联网装置,并且根据选择的配置文件对系统设置进行静态和动态的微调。其中动态微调默认是禁用的,在/etc/tuned/tuned-main.conf文件中,将dynamic_tuning修改为1。
例如办公室工作站,大多数时间里,以太网接口是非活跃状态的,可能只会偶尔发送一些电子邮件等,对于这些负载,网络接口不需要一直满载运行,而tuned有一个针对网络设备的监控和微调插件,能够检测这种低活跃度,当活跃度较低时自动降低该设备的运行速度。

9.2 tuned的基本操作

tuned常用的命令如下:

  1. 安装tuned:yum -y install tuned
  2. 启动tuned:systemctl start tuned(安装完后默认启动)
  3. 设置tuned开机自启:systemctl enable tuned
  4. 查看可用的已安装配置文件:tuned-adm list
  5. 查看目前已激活的配置文件:tuned-adm active
  6. 选择或激活某一项配置文件:tuned-adm profile profile
    例如:tuned-adm profile powersave表示启用低功耗调优配置,用于最大化的节能,尽可能减少实际耗电量。
  7. 根据当前系统情况自动推荐相应的调优方向:tuned-adm recommend

9.3 tuned的基本模式

tuned除了上面的powersave外,还有以下几种方式:

  1. balanced:默认的节电配置文件,其目的是为了在性能和节能之间找到平衡。其唯一的缺点是会增加延迟。
  2. throughput-performance:将服务器向高吞吐两优化的配置文件,会禁用节电机制且启用sysctl设置,提升磁盘和网络IO的吞吐性能,并且切换到deadline计划程序。CPU调控器被设定为performence。
  3. latency-performance:将服务器向低延迟优化的配置文件,他会禁用节电机制并启用sysctl设置,改善延迟。
  4. network-latency:用于低延迟网络微调的配置文件。
  5. network-throughput:用于微调网络吞吐量的配置文件
  6. virtual-guest:针对虚拟客机设计的配置文件,会降低虚拟内存的swap,增加磁盘的预读值。
  7. virtual-host:基于enterprise-storage的配置文件,会降低虚拟内存的sawppiness,增加磁盘预读值,并且启动更积极的脏页回写。
  8. sap:针对SAP软件进行最佳性能优化的配置文件。
  9. desktop:基于balanced文件,针对台式机电脑进行优化的配置文件,会额外启动autogroups计划程序。
上一篇:Linux PXE批量网络装机与Kickstart 无人值守安装


下一篇:基于nfs的内网环境yum源共享