Linux磁盘管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux磁盘管理相关的知识,希望对你有一定的参考价值。

df命令

df汇报文件系统的磁盘空间使用情况

-h:使用合适单位显示;

-i:查看inodes使用情况;

-k、-m:分别以KB、MB单位显示。

挂载点实际上就是你系统上的一个目录,Linux上的磁盘是不能直接访问的必须要有一个挂在点,我们通过这个挂载点才能找到这块磁盘才能进入磁盘里读数据写数据。

[[email protected] ~]# df
文件系统          1K-块   已用     可用 已用% 挂载点
/dev/sda3      29140072 993336 28146736    4% /
devtmpfs         494184      0   494184    0% /dev
tmpfs            504076      0   504076    0% /dev/shm
tmpfs            504076   6908   497168    2% /run
tmpfs            504076      0   504076    0% /sys/fs/cgroup
/dev/sda1        201380  99256   102124   50% /boot
tmpfs            100816      0   100816    0% /run/user/0

命令df -h  根据磁盘的大小适当的显示它的单位

[[email protected] ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  970M   27G    4% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       197M   97M  100M   50% /boot
tmpfs            99M     0   99M    0% /run/user/0

技术分享图片

单位:Byte字节 1000字节=1KB 1000KB=1MB(兆) 1000MB=1GB 1000GB=1TB

文件系统显示tmpfs的表示它是一个临时的文件系统,即使你在里边这东西重启之后它也会消失。

命令free   查看磁盘swap分区

[[email protected] ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1008152      123084      723288        6908      161780      713784
Swap:       2097148           0     2097148

命令df -i 查看你这个分区下边有多少个inode及使用情况

[[email protected] ~]# df   -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3      14577152   26556 14550596       1% /
devtmpfs         123546     380   123166       1% /dev
tmpfs            126019       1   126018       1% /dev/shm
tmpfs            126019     465   125554       1% /run
tmpfs            126019      16   126003       1% /sys/fs/cgroup
/dev/sda1        102400     328   102072       1% /boot
tmpfs            126019       1   126018       1% /run/user/0

命令dr -m 以兆为单位显示

[[email protected] ~]# df -m
文件系统       1M-块  已用  可用 已用% 挂载点
/dev/sda3      28458   970 27488    4% /
devtmpfs         483     0   483    0% /dev
tmpfs            493     0   493    0% /dev/shm
tmpfs            493     7   486    2% /run
tmpfs            493     0   493    0% /sys/fs/cgroup
/dev/sda1        197    97   100   50% /boot
tmpfs             99     0    99    0% /run/user/0


du命令

du 命令(disk useage)用来查看某个目录或文件所占文件大小;

格式为du [-abckmsh] [文件或目录名]

-a:表示全部文件和目录的大小都列出来;

-b :表示列出的值以B为单位输出;

-k:表示以KB为单位输出;

-m:表示以MB为单位输出;

-h:表示系统自动调节单位;

-c:表示最后加总;

-s:表示只列出总和。

[[email protected] ~]# du -h /root/
16K	/root/.ssh
0	/root/111
0	/root/999
64K	/root/
[[email protected] ~]# du -s /root/
64	/root/
[[email protected] ~]# du -sh /root/
64K	/root/

查看一个文件大小,命令du -sh  

技术分享图片


磁盘分区

方法:设置→添加→默认硬盘→默认→磁盘大小10G→完成

鼠标右击当前虚拟机的选项卡,选择设置

技术分享图片

点击左下方的添加按钮,此时会弹出“添加硬件向导”对话框,点下一步;

技术分享图片


选择硬件类型,保持“硬盘”默认,点下一步;

技术分享图片


选择磁盘类型对话框也保持默认,点下一步;

技术分享图片


选择磁盘对话框也保持默认,点下一步;

技术分享图片


在指定磁盘容量对话框里要修改一下,设定最大磁盘大小为10GB,然后选择将虚拟磁盘拆分成多个文件,点下一步;

技术分享图片


继续点下一步,然后更改你所需的名字(这里保存默认)点击完成按钮,最终添加新的虚拟磁盘。新添加的虚拟磁盘需要系统重启后才能被识别到。

技术分享图片技术分享图片

命令fdisk 查看硬盘

命令fdisk -l 目前系统里边有的磁盘列出来

reboot重启才会显示新硬盘

fdisk命令还可以给磁盘分区,后边跟磁盘的名字,然后输m获取帮助信息

q不保存退出

p列出来

w保存

d删除

n重新创建或者重新增加一个分区,之后会出来两个选项p主分区e扩展分区,主分区最多能划分四个,扩展分区里有逻辑分区,用fdisk命令分区会有一个mbr分区它有一个特点,最高支持两个T,最多只能有4个主分区,你要想划分更多的话只能划分三个主分区然后剩下一个划分扩展分区,公式主分区+扩展分区=不能大于4

如何创建分区:例如分区名位/dev/sdb

fdisk /dev/sdb-n重新创建或者重新增加一个分区-选择主分区p-区号1(1-4随便选)-回车-自定义分区大小+2G(意思是给他2g)-p查看多了一个分区

如何删除分区:输入d-选区号-回车-p发现少了一个分区

如何分扩展分区:输入e-

逻辑分区从5开始是连续的

命令fdisk

fdisk是Linux下硬盘的分区工具,非常实用的一个命令,但是只能划分小于2TB的分区。该命令的格式为fdisk  [-l] [设备名称]。选项-l后面不加设备名称,就会直接列出系统所有的磁盘设备以及分区列表;加上设备名称,则会列出该设备的分区表。

技术分享图片

上图中可以看到新增的一块磁盘/dev/sdb的信息,然后对他使用fdisk命令,可以进行磁盘分区

技术分享图片

输入m获取帮助信息,会列出一些命令操作

我们常用的命令有:

n:表示建立一个新的分区;

p:表示打印当前磁盘的分区情况;

w: 保存;

d:删除一个分区。

技术分享图片

这里有个技巧,假如命令输入错误的时候,可以用Ctrl+u进行清除掉。

输入命令p,则会发现没有分区

技术分享图片

在输入命令n,出现两种选择,p:主分区(最多4个),e:扩展分区

技术分享图片

然后按照上面步骤,一致创建主分区到4,

技术分享图片

技术分享图片

技术分享图片

创建4个主分区后,在输入n,出现提示不能创建主分区,如果想在新建分区,需要先删除一个主分区,我们可以先删除一个,然后添加扩展分区

技术分享图片

技术分享图片

现在已经划分了3个主分区,一个扩展分区。继续创建分区,就是逻辑分区,此时不再选择主分区还是扩展分区,而是直接定义分区大小

技术分享图片

技术分享图片

现在有了3个主分区,1个扩展分区,2个逻辑分区;现在先删除一个主分区1

技术分享图片

然后再删除一个逻辑分区5,但是又出现一个逻辑分区5,不过与之前不一样,可以根据其实扇区看出。

这说明删除逻辑分区,分区号不会留空,原来的逻辑分区6变成现在的逻辑分区5了。

技术分享图片

现在,我们先不输入w保存,而是输入q直接退出分区。再重新分区

技术分享图片

我们开始先不划分主分区,而是划分扩展分区

技术分享图片

再增加一个主分区,提示发生改变,变成选择主分区还是逻辑分区。l表示逻辑分区,id从5开始。

技术分享图片

然后再划分一个逻辑分区

技术分享图片

技术分享图片

通过实验可以发现,主分区2和4都留空了。而逻辑分区从第5个分区号开始且连续,不会留空。

扩展分区不支持写数据不支持格式化他只是个壳子,在这里边装着的是逻辑分区,逻辑分区才是用来写数据的


磁盘格式化

所谓格式化,就是安装文件系统,Windows下的文件系统有FAT32和NTFS,CentOS 7以XFS作为默认的文件系统,(CentOS 6的文件系统为ext4;CentOS 5的文件系统为ext3;更早的为ext2)可以查看系统支持的文件系统格式,/和/boot都是XFS格式

  • 格式化分区可以使用mke2fs 命令,但是这个命令不能将分区格式化为xfs类型;

  • 可以使用mkfs.xfs 命令将分区格式化为xfs类型;

  • mkfs.ext4 可以将分区格式化为ext4类型;

  • mkfs.ext3 可以将分区格式化为ext3 类型.


命令mount查看一个分区的文件系统是什么

命令mke2fs -m  指定分区预留的空间大小

命令mke2fs -t   你要格式化成什么样的文件系统(ext4、xfs)

命令mke2fs -i   指定多少个字节对应着一个inode


-命令mke2fs -b   指定块大小,格式例如下图

技术分享图片


-如果想把分区格式化成ext4类型,有两种方法:

mke2fs -t ext4 /dev/sdb1

mkfs.ext4 /dev/sdb1

指定文件系统格式为ext4,mke2fs ext4 /dev/sdb1等同于mkfs.ext4 /dev/deb1

技术分享图片


-如果想把分区格式化成XFS类型,需要使用 mkfs.xfs 命令

例如:mkfs.xfs -f /dev/sdb1

技术分享图片


-命令blkid查看一个没有挂载的分区,没有指定的系统。

例如:blkid /dev/sdb1

技术分享图片


-命令mke2fs -m指定分区预留的空间大小

格式mke2fs -m 1 /dev/sdb1

技术分享图片


-命令mke2fs -i指定多少个字节对应着一个inode

格式:例如mke2fs -i 2048 /dev/sdb1

技术分享图片


磁盘挂载

命令mount挂载

格式:(命令)(盘符号或者分区符号) (挂载点)

例如:mount   /dev/sdb   /mnt/    #把/dev/sdb挂载到/mnt/下 挂载点是磁盘的入口没有挂载点就没办法在磁盘里写东西

技术分享图片


umount卸载磁盘,格式umount /dev/sdb或者umount /mnt(挂载点)

技术分享图片

加上-l选项,无需退出分区所在的目录就可以直接强制卸载

技术分享图片

/etc/fstab配置文件

系统启动都默认挂载哪些磁盘哪些分区全都是在这个配置文件下配置

先查看/etc/fstab配置文件,vi /etc/fstab

技术分享图片

可以自定义如上图最下边/dev/sdb,也可以用他的UUID,用blkid查看他的UUID下图:

技术分享图片

第一列是分区标识,可以写分区的label,UUID,也可以写分区名;

第二列是挂载点;

第三列是分区的格式;

第四列是mount的挂载参数;

第五列的数字表示是否被dump备份,1是备份,0没备份;

第六列的数字表示开机是否自检磁盘,1和2检测,0不检测。


如何手动增加swap空间

第一步,首先要弄一个模拟的磁盘,命令dd if=/dev/zero of=/tmp/newdisk bs=1M count=100

dd:操作磁盘的可以写可以读 if:制定从哪里去读/dev/zero盗铃器of:把制定读出来的“铃”写到哪里去 bs:指定块的大小 count:newdisk文件的大小)

[[email protected] ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,2.83503 秒,37.0 MB/秒

第二步,格式化swap,命令mkswap -f /tmp/newdisk

[[email protected] ~]# mkswap -f /tmp/newdisk
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=4f277c27-4e9d-4271-a8ea-fa61356c870d

第三步,挂载新增加的swap分区,命令swapon /tmp/newdisk挂载

free -m查看swap有多大,在挂载前后可以看一下swap空间的变化,如下图所示确实增加了100

第四步,为了安全起见把权限更改:chmod 0600 /tmp/newdisk

技术分享图片

如何卸载新增的swap

命令swapoff /tmp/newdisk

技术分享图片

删除文件夹:rm -f /tmp/newdisk

技术分享图片


lvm讲解

t→8e改成lvm

先安装yum provides "/*/pvcreate"

命令pvdisplay查看物理卷或者pvs

命令vgcreate vg1 /dev/sdb1 /dev/sdb/sdb2用两个物理卷创建一个卷组

命令vgdisplay查看卷组的信息

命令vgs查看卷组

命令vgremove删除卷组的

创建逻辑卷lvcreate -L 100M -n lv1 vg1

格式化命令mkfs.ext4 /dev/vg1/lv1

挂载mount /dev/vg1/lv1 /mnt/

扩容lvresize -L 200M /dev/vg1/lv1

检查磁盘错误命令e2fsck -f /dev/vg1/lv1

更新逻辑卷卷组信息resize2fs /dev/vg1/lv1

xfs扩容xfs_growfs /dev/vg1/lv1


扩展卷组

技术分享图片


磁盘故障小案例

技术分享图片

先输入root密码,然后编辑vi /etc/fstab这个文件,把下边那行删掉,安dd

技术分享图片


vim工具

技术分享图片

命令yum install -y vim-enhanced安装

vim颜色显示和移动光标

vim会根据文件的类型或者文件的内容显示颜色

它的配置文件vim /etc/vimrc

dd直接剪切一行,p粘贴到一行的下面,P粘贴到一行的下面,按数字+dd剪切指定的行数

u可以恢复操作,按一次可以恢复一步,最多可以恢复50次。

按字母yy复制

x字母向后删除一个字母

X字母向删除一个字母

v字母可以不规律的选择内容,按v然后按光标移动,按x剪切

技术分享图片

技术分享图片


编辑模式

i进去编辑模式

I进入编辑模式并且光标会移动到行首

o在光标所在的行下边一行开始写

O光标所在的行上边一行开始写

a在光标所在的字符后边开始写东西

A在这一行的行末开始写东西


命令模式

/后边可以跟要搜索到单词

?后边可以跟要搜索到单词

替换命令格式    :1,100s/dnsmasq/xiaoweilinux/g   s表示替换g表示所有

这段命令的意思就是从1到100行把所有的dnsmasq替换为xiaoweilinux

命令  :1,$/aaaaa/bbbbb/g  本文全部替换

特殊情况如果碰到要改/多的可以把/改成#

或者@也可以

:wq跟:x区别在于x保存以后不管你有没有更改它都不会更改你的mtime

技术分享图片

技术分享图片


以上是关于Linux磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘管理的Linux管理命令

Linux磁盘管理系列 — 磁盘配额管理

【Linux命令】磁盘管理(逻辑卷与物理卷)

Linux 磁盘管理

Linux 下磁盘管理--逻辑卷--LV

Linux 磁盘管理