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磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章