第五课Linux磁盘管理

4.1df命令

用途:用于查看已挂载磁盘的总容量,使用容量,剩余容量等,默认以KB单位显示。命令如下:

挂载点:必须通过挂载点找到磁盘,进入磁盘读数据,写数据

参数:

1.-h,表示使用合适的单位显示

需要格外关注:/dev、/dev/shm为内存分区,处在内存分区下的文件,读写非常快,但是系统重启时,文件就会丢失。

2.-i,表示查看inodes的使用情况。inode大小跟磁盘分区大小有关

inode满了,即使磁盘空间有空余,磁盘空间也写不进去。

3.-m,表示以MB为单位显示。

 

 

 

 

查看swap分区:

 

 

 

4.2du命令

用途:用于查看某个目录或文件所占空间的大小。

参数:

1.-sh(最常用),-s表示只列出总和,-h表示系统自动调节单位。

[root@localhost ~]# du -sh /root

64K   /root

2.不加任何参数,只会列出目录(包含子目录)的大小。

 

4.3磁盘分区

作为一个Linux系统管理员,对磁盘的操作必须熟练。

4.3.1增加虚拟磁盘(在虚拟机中增加,虚拟机版本VMware Workstation10)

1.在当前的虚拟机选项卡点击右键,选择“设置”。

2.此时弹出“虚拟机设置”对话框。在左侧选择“硬盘”然后点击左下方的“添加”按钮,此时会弹出“添加硬件向导”对话框,点击下一步。

3.“选择磁盘类型”保持默认,直接点击“下一步”

4,“选择磁盘”,保持默认,点击下一步

5.“指定磁盘容量”,设定“最大磁盘大小”为10GB,然后选择“将虚拟磁盘存储为单个文件”

6.点击“下一步”,然后点击“完成”按钮。最终完成添加新的虚拟磁盘。此时需要重启系统才可以。

4.3.2命令fdisk

用途:linux下硬盘的分区工具。

命令格式:fdisk 参数 设备名称,参数只有-l,不加设备名称,会直接列出系统中所有磁盘设备以及分区表;加上设备名称,则会列出该设备的分区表。

从图中可以看到新增的一块磁盘/dev/sdb的信息

fdisk命令不加-l参数,则可以进行对磁盘分区操作。命令如下:

此时输入m,会列出更多的命令,如下图所示:

 

介绍几个常用的命令:

1. p   表示打印当前磁盘的分区情况 

此时还未对/dev/sdb进行分区,所以并未显示任何分区信息

2. n   表示建立一个新的分区

分区类型:MBR分区,特点:最高支持2T,最多只有4个主分区。

主分区+扩展分区小于等于4

这里先建立主分区,选择p,回车后会提示分区数,这里选择1,因为是第1个分区。起始分区默认2048,最后分区写+2G,如下图所示

此时可以用命令p查看分区情况,如下图所示

此时上图多了一个分区。

按照以上步骤,一直创建主分区到4。如下图所示:



创建4个主分区后,再想创建分区时会出现问题。这是因为在Linux系统中,最多只能创建4个主分区。

那如何多创建几个分区,可以创建完第3个分区后,创建第4个分区时选择扩展分区。首先删除第4个分区,然后再新建分区。

快捷键:ctrl+u清空某行输入内容


上图最后一列Extended表示扩展分区。

接下来在扩展分区中创建逻辑分区(扩展分区只是壳子,真正写数据的是逻辑分区):

删除一个分区:

按CTRL+C键,这样刚刚做的分区就全部取消了。

 

逻辑分区的id是从5开始的,逻辑分区的id号是连续的,主分区可以不连续,逻辑分区id号连续实例:

现在删除6逻辑分区

然后再看分区id,还有6,依然是连续的id.


3.w  表示保存,分区完成后,需要输入w命令来保存配置。

查看分区情况:

4.q   表示退出

4.4磁盘格式化

磁盘分区虽然分好,但暂时还不能使用,还必须对每一个分区进行格式化。所谓格式化,就是安装文件系统。下图是centos7默认支持的文件系统格式

Centos6使用的是ext4文件系统。

4.4.1命令mke2fs,mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs

命令mke2fs

参数:

1.-t,用来指定文件系统类型

指定文件系统为ext4时,命令mke2fs –t ext4 /dev/sdb5等同于mkfs.ext4 /dev/sdb5,命令如下:

[root@localhost ~]# mke2fs -t ext4 /dev/sdb5

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

65536 inodes, 262144 blocks

13107 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=268435456

8 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

   32768, 98304, 163840, 229376

 

Allocating group tables: 完成                           

正在写入inode表: 完成                           

Creating journal (8192 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

查看刚刚格式化的分区文件系统:使用命令blkid

Mke2fs并不支持分区格式化成XFS类型,而只能使用mkfs.xfs,命令如下:

2.-b,指定块的大小,ext4文件系统的默认块大小为4096B,在格式化时,可以指定块大小1024B,2048B或者4096B(它们是成倍增加的)

 

3.-m指定分区预留空间

4.-L,指定标签,标签会在挂载磁盘时使用,也可以使用配置文件

5.-i,指定多少字节对应一个inode,默认是1个inode=4块=16K,现改为1个inode=8k

 4.5磁盘挂载

格式化完成后,如何使用这些磁盘,这将涉及到挂载磁盘

在挂载某个分区前,首先需要建立一个挂载点,挂载点是以目录形式存在的,在往这个目录写数据时,都会写到该分区中。

在挂载该分区前,挂载点下必须是空目录,因为一旦挂载上了,该目录下以前的东西就看不到了,除非卸载该分区。

4.5.1命令mount

命令格式:mount 分区 空目录

参数:

-o:用来指定挂载的分区有哪些特性

 

-t:用来指定挂载的分区类型

-a:会把出现的所有磁盘分区挂载上

 2.卸载挂载点命令umount

有时候会遇到不能卸载的情况,可使用-l参数解决:

4.5.2/etc/fstab配置文件

第一列是分区的标识,可以写分区的LABEL,分区的UUID,也可以写分区名(/dev/sdb5)

第二列是挂载点

第三列是分区的格式

第四列是mount的一些挂载参数,一般情况下写defaults即可

第五列的数字表示是否被dump备份。1表示备份,0表示不备份(dump备份文件系统)

第六列的数字表示开机时是否自检磁盘,设置优先级,1和2表示检测,0表示不检测。1比2优先级高,所以先检测1,再检测2.如果有多个分区需要开机检测,就都设置成2,1检测完成会同时检测2.

着重介绍第四列常用选项:

async/sync:async表示磁盘和内存不同步,系统每隔一段时间就会把内存数据写入磁盘中,sync会时时同步内存和磁盘中的数据。

auto/noauto:表示开机自动挂载或自动不挂载

default:表示按照大多数永久文件系统的默认值设置挂载定义,它包含得了rw/suid/dev/exec/auto/nouser/async.

ro:表示按只读权限挂载

rw:表示按可读可写权限挂载

exec/noexec:表示允许/不允许可执行文件执行,千万不要把根分区挂载为noexec,否则将无法使用系统。

user/nouser:表示允许/不允许root外的其他用户挂载分区。为了安全使用nouser

suid/nosuid:表示允许/不允许分区有suid属性,一般设置为nosuid.

usrquota:表示启动用户的磁盘配额模式,磁盘配额会针对用户限定它们使用的磁盘额度。

grquota:表示启动群组的磁盘配额模式。

 

 

4.6手动增加swap空间

建立一个swap文件增加虚拟内存

增加虚拟磁盘的基本思路:建立swapfiel-格式化为swap格式-启用该虚拟磁盘

1. 建立swapfile ,如下图所示;

dd命令用来操作磁盘,if指定源(一般是写/dev/zero,linux内核doulingqi产生源源不断的0),of指定目标文件(将0写到哪里去),bs定义块的大小,count定义块的数量

2. 将文件格式化为swap格式,如下图所示


3. 启用该虚拟磁盘

启用命令:swapon,free命令用来查看内存的使用情况,-m表示以MB单位显示。其中前后两次查看情况,增加了1024MB的空间。

卸载swap文件命令:swapoff

 4.7lvm(logical volume manager逻辑分区讲解

可以方便的扩容或缩容磁盘空间

Physical volume是物理卷,实际上磁盘分区,Volume group是物理卷的集合,叫卷组。 在卷组基础上划分逻辑卷,然后格式化,然后挂载使用。

准备磁盘分区:

1. fdisk /dev/sdb,n 创建三个新分区 ,分别为1Gt改变分区类型为8e

2. 准备物理卷

pvcreate /dev/sdb1

pvcreate /dev/sdb2

pvcreate /dev/sdb3

pvdisplay 或pvs列出当前的物理卷

pvremove /dev/sdb3 删除物理卷

yum安装小技巧,当不知道包名称时:

1.


2. 



3.创建卷组,vgcreate


4. 有了卷组后创建逻辑卷

5. 做格式化

6. 挂载

7. 扩容逻辑卷

lvresize –L 300M /dev/vg1/lv1 重新设置卷大小

e2fsck –f /dev/vg1/lv1 检查磁盘错误(ext4执行)

resize2fs /dev/vg1/lv1 更新逻辑卷信息(ext4执行)

针对xfs文件系统扩容;xfs_growfs /dev/vg1/lv1 xfs文件系统需要执行。


首先格式化:

然后挂载

重新设置卷大小

然后执行

 

 

8. 缩减逻辑卷(xfs不支持)

先umount

e2fsck –f /dev/vg1/lv1 检查磁盘错误(ext)

resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息(ext)

lvresize –L 100M /dev/vg1/lv1 重新设置卷大小

9. 扩展卷组

fdisk /dev/sdb 新增/dev/sdb5(逻辑分区8e) 2G

pvcreate /dev/sdb5

vgextend vg1 /dev/sdb5

lvresize –L 100M /dev/vg1/lv1 重新设置卷大小

 

4.8磁盘小故障小案例

遇到如下故障:

编辑:vi /etc/fstab

  

把此行删除掉,快速删除方法:dd

保存退出,重启。

 

 

 

 

扩展:关于inode详解:http://www.jb51.net/article/116502.htm

使用命令dd命令测试磁盘读写性能:https://blog.csdn.net/daiyudong2020/article/details/53157558 

使用dd命令备份硬盘:http://zuyunfei.com/2015/06/04/linux-dd/

生产环境中使用raid操控硬盘:https://blog.csdn.net/caipeichao2/article/details/52661825

阿里云磁盘扩容案例:https://help.aliyun.com/document_detail/25452.html

磁盘有坏道的修复:https://www.2cto.com/os/201204/126370.html

存储:http://forum.huawei.com/enterprise/zh/thread-274145-1-1.html

存储:https://blog.csdn.net/JesseYoung/article/details/38367217

parted分区gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html





猜你喜欢

转载自blog.csdn.net/zanghaos/article/details/80411479