第五课预习笔记

4.1 df命令

df命令 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

常用参数:

  • -a或--all:全部的文件系统;
  • -h或--human-readable:以可读性较高的方式来显示信息;
  • -H:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;

  • -i或--inodes:显示inode的信息;
  • -k或--kilobytes:指定区块大小为1024字节;
  • -l或--local:仅显示本地端的文件系统;
  • -m或--megabytes:指定区块大小为1048576字节;

直接运行 df 命令:

第一列为文件系统类型;

第二列为文件系统的大小;

第三列为已使用大小;

第四列为可用大小(已使用和可用的和是小于总量的),这是因为每个分区都留了少量空间供系统管理员使用;

第五列为已使用百分比;

第六列为文件系统的挂载点。

以inode模式来显示磁盘使用情况:df -i

这里没有swap分区信息,可以用 free命令来查看swap信息。

4.2 du命令

du命令 估计文件空间使用量,与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看。

  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -k或--kilobytes 以KB(1024bytes)为单位输出。
  • -m或--megabytes 以MB为单位输出。
  • -s或--summarize 仅显示总计,只列出最后加总的值。
  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。

查看目录或文件使用空间。

4.3-4.4 磁盘分区

       Linux中主要有两种分区类型,分别为MBR(Master Boot Record)和GPT(GUID Partition Table),是在磁盘上存储分区信息的两种不同方式。这些分区信息包含了分区从哪里开始的信息,这样操作系统才知道哪个扇区是属于哪个分区的,以及哪个分区是可以启动的。在磁盘上创建分区时,你必须在MBR和GPT之间做出选择。

  在Linux中会把设备映射成为一个/dev目录下的系统文件,IDE接口类型的硬盘设备映射的文件名称前缀为“hd”,SCSI、SATA、SAS等接口的硬盘设备映射的文件名称前缀为“sd”(部分虚拟机或者云主机的名称可能是其他的,比如“vd”),后面拼接从“a”开始一直到“z”用来区分不同的硬盘设备,在硬盘名称后面拼接数字形式的分区号用来区分不同的分区。

MBR分区

       MBR的意思是“主引导记录”,它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR格式的磁盘分区主要分为主分区(primary partion)和扩展分区(extension partion)。主分区总数不能大于4个,其中最多只能有一个扩展分区。且基本分区可以马上被挂载使用但不能再分区,扩展分区必须再进行二次分区后才能挂载。扩展分区下的二次分区被称之为逻辑分区,逻辑分区数量限制视磁盘类型而定。

GPT分区

  GPT意为GUID分区表,驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID)。支持的最大磁盘可达18EB,它没有主分区和逻辑分区之分,每个硬盘最多可以有128个分区,具有更强的健壮性与更大的兼容性,并且将逐步取代MBR分区方式。GPT分区的命名和MBR类似,只不过没有主分区、扩展分区和逻辑分区之分,分区号直接从1开始累加一直到128。

我们上课用的是MBR分区。

首先是fdisk命令:fdisk命令 用于观察硬盘实体使用情况,也可对硬盘分区。

常用参数:

    -b:指定每个分区的大小;
    -l:列出指定的外围设备的分区表状况;
    -s:将指定的分区大小输出到标准输出上,单位为区块;
    -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;
    -v:显示版本信息。

在给磁盘分区之前我们先要在虚拟机上添加一块磁盘。步骤:

1、关闭linux系统 -->虚拟机设置-->添加新硬盘(我们分配给新硬盘大小为10G),然后开机启动系统。

2、查看新硬盘,用fdisk -l就可以看到新硬盘了。

给新添加的磁盘进行分区操作。

首先执行fdisk    /dev/sdb命令,之后在 Command (m for help): 提示后按 m 了解每个命令是什么意思。

      a      toggle a bootable flag 切换可引导标志
      b      edit bsd disklabel 编辑BSD磁盘标签
      c      toggle the dos compatibility flag 切换DOS兼容性标志
      d      delete a partition 删除分区
      g      create a new empty GPT partition table 创建一个新的空GPT分区表
      G      create an IRIX (SGI) partition table 创建一个ILIX(SGI)分区表
      l      list known partition types 列出已知分区类型
      m      print this menu 打印此菜单
      n      add a new partition 添加新分区
      o      create a new empty DOS partition table 创建一个新的空DOS分区表
      p      print the partition table 打印分区表
      q      quit without saving changes 不保存更改退出
      s      create a new empty Sun disklabel 创建一个新的空太阳标签
      t      change a partition's system id 更改分区的系统ID
      u      change display/entry units 更改显示/输入单元
      v      verify the partition table 验证分区表
      w      write table to disk and exit 将表写入磁盘并退出
      x      extra functionality (experts only) 额外功能(仅专家)

在进行MBR分区时我们常用的命令有:n、p、d、w、q等。

那么首先输入"n"选项来开始创建分区:

之后会有“p”、“e”两个选项,p为主分区e为扩展分区,我们选择“p”主分区;分区号可以选1-4默认为1,我们选择1;之后

提示我们选择起始扇区,默认为剩余未被分配的最小扇区,选选择默认(直接点击回车);之后提示我们选择截止扇区,

我们给它分配2G(+2G),再按回车;至此第一个主分区完成划分。按“p”可以看到刚才分配的第一个主分区。

MBR分区最多只能有4个主分区,再创建主分区我就不一一展示了和上面的方法一样。接下来我们直接划分扩展分区:还是先按“n”,之后选择“e”选项创建扩展分区,序号可以选择2-4,我们选择2。

扩展分区创建好之后,接着就可以创建逻辑分区了。在创建逻辑分区的时候不需要指定分区序号了,系统将会自动从5开始顺序编号。继续创建逻辑分区。

逻辑分区的序号是从5开始连续的,如果我们删除了某一个逻辑分区(比如:5)系统会自动把后面分区的序号修改(会把/sdb6改为/sdb5),这里只是把序号修改,大小还是原来的分区大小。

完成分区后,如果不想保存直接按“q”就可以退出了:如果想保存按“w”就可以了。

GPT分区可以看下阿铭老师总结的知识:http://www.apelearn.com/bbs/thread-7243-1-1.html

4.5-4.6 磁盘格式化

       磁盘分区完成之后,还要进行格式化,这个格式化操作就是指定文件系统,文件系统的本质就是对一个存储设备上的元数据和数据就行组织,最终把数据有组织的放在可以长期存储的设备中。

       我们常用的Windows的文件系统一般是NTFS,下面是我的电脑C盘的信息,可以看到文件系统为NTFS。

在Linux系统中常见的文件系统格式有:ext4、ext3、ext2、xfs等。

用mount命令可以查看一个分区的文件系统。

格式化分区常用的命令有:mke2fs、mkfs。

mke2fs命令可以创建的文件系统有:ext2、ext3、ext4。

mkfs可以格式化成 xfs ,而mke2fs没有。

mke2fs相关参数选项:

    -b:指定块大小,单位为字节;
    -c:检查是否有损坏的区块;
    -f:指定不连续区段的大小,单位为字节;
    -F:不管指定的设备为何,强制执行mke2fs;
    -i:指定"字节/inode"的比例;
    -N:指定要建立的inode数目;
    -l:从指定的文件中,读取文件西中损坏区块的信息;
    -L:设置文件系统的标签名称;
    -m:指定给管理员保留区块的比例,预设为5%;
    -t:指定格式化文件系统类型。

格式化分区,首先用mke2fs把分区格式化成ext4,具体操作为;

也可以用 mkfs.ext4    /dev/sdb1 来完成创建。

把分区格式化成 xfs 类型,当文件系统存在时用 -f 选项来强制格式化。

格式化完成后可以用blkid命令来查看

相关参数的应用,-m、-t、-i、-b

格式化一个分区,要求:格式化成ext4文件系统,预留空间为1%,每个块大小为2048byte,4096byte对应一个inode。

磁盘不分区也是可以直接格式化的。

4.7-4.8 磁盘挂载

       在Linux系统中一切皆文件,目录和磁盘也是以文件形式存在,所以磁盘是要挂载后才能够使用(这样一来访问磁盘就相当于访问文件一样)。

Linux系统中用mount命令来挂载磁盘。

格式为:

#mount   磁盘   挂载点

mount在默认情况下defaults参数为:rw, suid, dev, exec, auto, nouser, and async。每一个参数都能设置相反的参数,“-o remount”常用

挂载配置文件 /etc/fstab 

       /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。在这个文件下,我们要关注的是它的六个领域。下面将详细介绍这六个领域的详细意义。

/etc/fstab文件内容:

      1、file system,这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。

      2、mount point,挂载点,文件系统要挂载的目录。

      3、type,指定文件系统的类型。

      4、options,这里用来填写挂载选项,各个选项用逗号隔开,默认是defaults(rw、suid、dev、exec、auto、nouser和 async)也可以是:noauto、user、owner、comment和                             nofail。

      5、dump,此处为1的话,表示要将整个内容备份;为0的话,表示不备份。一般都设为0。

      6、pass,这里用来指定如何使用fsck来检查硬盘(如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字 的同时检查)。

 

4.9 手动增加swap空间

什么是Linux系统swap空间。

       Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

查看系统swap空间

可以看到swap空间使用量为0,剩余2047M。

手动增加swap空间,首先在系统中分离出一个单独的磁盘空间(大小为100M)用“dd”命令,if=/dev/zero of=/tmp/newdisk bs=1M count=100

格式化成swap空间

挂载到swap上去

这样之前的 2047M 大小就变成了 2147M 了增加了100M,用 swapoff命令 就可以卸载掉。

4.10-4.12 lvm讲解

       逻辑卷管理LVM是一个硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。

LVM使用分层结构,如下图所示。

       图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。

1、创建ID号为8e的主分区3个每个大小为1G,用“t”选项来改变分区的ID号(从83变为8e)。

2、创建物理卷,用pvcreate命令,创建完成之后可以用 pvdisplay 或者 pvs 查看系统内存在的物理卷。

3、创建卷组,用vgcreate命令

#vgcreate    卷组名    物理卷1 物理卷2 ......

创建卷组vg1,将 /dec/sdb1 和 /dev/sdb2 加入卷组,用vgdisplay或vgs查看系统卷组。可以用vgremove来删除卷组。

4、创建逻辑卷,用lvcreate命令。

#lvcreate    -L     大小    -n    卷名    卷组

        -L:指定大小

        -n:指定逻辑卷名字

5、逻辑卷格式化和挂载。

6、扩容逻辑卷(ext4)

lvresize命令 重新设置逻辑卷的大小

#lvresize    -L   大小    逻辑卷名

将逻辑卷lv1重新设置大小为200M,首先要卸载 lv1,在重新设置大小。

 

7、缩减逻辑卷(xfs不支持)

首先卸载逻辑卷-->e2fsck 检查逻辑卷-->更新逻辑卷resize2fs-->重新设置逻辑卷大小。

8、xfs格式的扩容和缩容

首先卸载 lv1,重新格式化lv1位xfs格式。

用xfs_growfs更新

9、卷组扩容

当卷组容量也不够用的时候,我们还可以扩容:

  • 新添加一块磁盘(这里我们用之前没有添加到卷组里的 /dev/sdb3)ID号设置成 8e 。
  • 用pvcreate创建成物理卷
  • 用#vgextend    vg1    /dev/sdb3 命令扩容vg1
  • 之后就可以用 lvresize 扩容逻辑卷了

4.13 磁盘故障小案例

当我们做磁盘操作时在 /etc/fstab文件内修改服务器启动加载时,可能会出现问题如下提示:

这是我们可以进入系统编辑 /etc/fstab 删除之前错误配置,重新启动系统。

 

 

在编写博客时所用到的参考链接:

https://linux.cn/article-3218-1.html
http://man.linuxde.net
http://www.runoob.com/
http://www.cnblogs.com/kerrycode/p/5246383.html
http://blog.51cto.com/lspgyy/1297432

转载于:https://my.oschina.net/u/3993922/blog/2252824

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值