扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
动手试吧,没有的话就找相关软件包安装
10年的富顺网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整富顺建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“富顺网站设计”,“富顺网站推广”以来,每个客户项目都认真落实执行。
一、df 命令;
df 是来自于coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;
举例:
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1
我们从中可以看到,系统安装在/dev/hda8 ;还有一个56G的磁盘分区/dev/sda1挂载在 /mnt/sda1中;
其它的参数请参考 man df
二、fdsik
fdisk 是一款强大的磁盘操作工具,来自util-linux软件包,我们在这里只说他如何查看磁盘分区表及分区结构;参数 -l ,通过-l 参数,能获得机器中所有的硬盘的分区情况;
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
在上面Blocks中,表示的是分区的大小,Blocks的单位是byte ,我们可以换算成M,比如第一个分区/dev/hda1的大小如果换算成M,应该是6144831/1024=6000M,也就是6G左右,其实没有这么麻烦,粗略的看一下把小数点向前移动三位,就知道大约的体积有多大了;
System 表示的文件系统,比如/dev/hda1 是NTFS格式的;/dev/hda2 表示是fat32格式的文件系统;.
在此例中,我们要特别注意的是/dev/hda3分区,这是扩展分区;他下面包含着逻辑分区,其实这个分区相当于一个容器;从属于她的有 hda5,hda6,hda7,hda8,hda9 ;
我们还注意到一点,怎么没有hda4呢?为什么hda4没有包含在扩展分区?一个磁盘最多有四个主分区; hda1-4算都是主分区;hda4不可能包含在扩展分区里,另外扩展分区也算主分区;在本例中,没有hda4这个分区,当然我们可以把其中的一个分区设置为主分区,只是我当时分区的时候没有这么做而已;
再仔细统计一下,我们看一看这个磁盘是不是还有空间?hda1+hda2+hda3=实际已经分区的体积,所以我们可以这样算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),换算成M单位,小数点向前移三位,所以目前已经划分好的分区大约占用体积是62259.876(M),其实最精确的计算 62259876/1024=60800.67(M);而这个磁盘大小是80.0 GB (80026361856byte),其实实际大小也就是78150.744(M);通过我们一系列的计算,我们可以得出这个硬盘目前还有使用的空间;大约还有18G未分区的空间;
fdisk -l 能列出机器中所有磁盘的个数,也能列出所有磁盘分区情况;比如:
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux
通过上面我们可以知道此机器有两块硬盘,我们也可以指定fdisk -l 来查看其中一个硬盘的分区情况;
[root@localhost beinan]# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux
通过上面情况可以知道,在/dev/sda 这个磁盘中,只有一个分区;使用量差不多是百分百了;
我们还可以来查看 /dev/hda的
[root@localhost beinan]# fdisk -l /dev/hda
自己试试看?
三、cfdisk 来自于util-linux的软件包;
cfdisk 也是一款不错的分区工具;在有些发行版中,此工具已经从util-linux包中剔除;cfdisk 简单易用是他的特点;和DOS中的fdisk 相似;在本标题中,我们只来解说如何查看机器的中的磁盘分区状况及所用的文件系统等;
查看磁盘分区的用法 cfdisk -Ps 磁盘设备名;
比如
[root@localhost beinan]cfdisk -Ps
[root@localhost beinan]cfdisk -Ps /dev/hda
[root@localhost beinan]cfdisk -Ps
Partition Table for /dev/hda
First Last
# Type Sector Sector Offset Length Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primary 0 23438834 63 23438835 Linux (83) Boot
2 Primary 23438835 156296384 0 132857550 Extended (05) None
5 Logical 23438835 155268224 63 131829390 Linux (83) None
6 Logical 155268225 156296384 63 1028160 Linux swap (82) None
我们只用的参数 -Ps,就列出了磁盘的分区情况;目前在Slackware Debian Mandrake 等主流发行版中存在cfdisk ,而fedora 4.0把这个小工具剔除了;有点可惜;这是我在Slackware中操作的;
如果您这样操作,就更直观了;
[root@localhost beinan]cfdisk 磁盘设备名
举例:
[root@localhost beinan]cfdisk /dev/hda
您所看到的是如下的模式:
cfdisk 2.12a
Disk Drive: /dev/hda
Size: 80026361856 bytes, 80.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 9729
Name Flags Part Type FS Type [Label] Size (MB)
-------------------------------------------------------------------------------------------
hda1 Boot Primary Linux ReiserFS 12000.69
hda5 Logical Linux ReiserFS 67496.65
hda6 Logical Linux swap 526.42
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ]
[ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition
您进入了cfdisk 的操作界面;用键盘移动指针到[Quit]就可以退出;
四、parted 功能不错的分区工具;在Fedora 4.0中有带,可以自己安装上;在此主题中,我们只说如何查看磁盘的分区情况;
调用方法简单,parted 默认是打开的设备是/dev/hda ,也可以自己指定;比如 parted /dev/hda 或/dev/sda 等;退出的方法是 quit
[root@localhost beinan]# parted
使用 /dev/hda
(parted) p
/dev/hda 的磁盘几何结构:0.000-76319.085 兆字节
磁盘标签类型:msdos
Minor 起始点 终止点 类型 文件系统 标志
1 0.031 6000.842 主分区 ntfs 启动
2 6000.842 22003.088 主分区 fat32 lba
3 22003.088 60800.690 扩展分区
5 22003.119 30004.211 逻辑分区 reiserfs
6 30004.242 40005.615 逻辑分区 reiserfs
7 40005.646 40774.350 逻辑分区 linux-swap
8 40774.381 52219.094 逻辑分区 ext3
9 52219.125 60800.690 逻辑分区 reiserfs
我们在partd 的操作面上,用p就可以列出当前磁盘的分区情况,如果想要查看其它磁盘,可以用 select 功能,比如 select /dev/sda ;
五、qtparted ,与parted 相关的软件还有qtparted ,也能查看到磁盘的结构和所用的文件系统,是图形化的;
[beinan@localhost ~]# qtparted
图形化的查看,一目了然;
六、sfdisk 也是一个分区工具,功能也多多;我们在这里只说他的列磁盘分区情况的功能;
[root@localhost beinan]# sfdisk -l
自己看看吧;
sfdisk 有几个很有用的功能;有兴趣的弟兄不妨看看;
七、partx 也简要的说一说,有些系统自带了这个工具,功能也简单,和fdisk 、parted、cfdisk 来说不值一提;不用也罢;
用法: partx 设备名
[root@localhost beinan]# partx /dev/hda
# 1: 63- 12289724 ( 12289662 sectors, 6292 MB)
# 2: 12289725- 45062324 ( 32772600 sectors, 16779 MB)
# 3: 45062325-124519814 ( 79457490 sectors, 40682 MB)
# 4: 0- -1 ( 0 sectors, 0 MB)
# 5: 45062388- 61448624 ( 16386237 sectors, 8389 MB)
# 6: 61448688- 81931499 ( 20482812 sectors, 10487 MB)
# 7: 81931563- 83505869 ( 1574307 sectors, 806 MB)
# 8: 83505933-106944704 ( 23438772 sectors, 12000 MB)
# 9: 106944768-124519814 ( 17575047 sectors, 8998 MB)
八、查看目前机器中的所有磁盘及分区情况:
[beinan@localhost ~]$ cat /proc/partitions
major minor #blocks name
3 0 78150744 hda
3 1 6144831 hda1
3 2 16386300 hda2
3 5 8193118 hda5
3 6 10241406 hda6
3 7 787153 hda7
3 8 11719386 hda8
3 9 8787523 hda9
8 0 58605120 sda
8 1 58604528 sda1
直接查看进程,过滤出来你所要监控的磁盘阵列就可以了,
查看所有进程:ps -ef
相关磁盘阵列的路径
过滤用grep
1、先找到RAID卡的命令所在,一般Linux安装时都能认出常规RAID卡,并成功安装驱动,此例中命令为MegaCli64。
2、MegaCli-help能查看该命令支持的所有参数显示。
3、查看卡信息MegaCliAdpAllInfoaALL,查看硬盘信息MegaCliPDListaALLSS查看阵列磁盘状态。
fdisk
-ldf
显示文件系统
追问
晕
就是这几个命令不好用才提问的啊
df
命令只显示服务器中的硬盘
显示不出来磁盘阵列柜中的硬盘容量
这篇文章介绍几种常用的磁盘阵列技术(Raid0、Raid1、Raid4、Raid5、Raid10、Raid01),演示如何在CentOS7环境下使用mdadm命令去创建和维护磁盘阵列;RAID又称“廉价磁盘冗余阵列”,可以使用硬件和软件两种方式来实现,硬件RAID可以参考购买硬件时附带的参考手册,设置方法与软件RAID有差异;现如今软件RAID大多用作研究和熟悉RAID的工作方式。
Raid有"廉价磁盘冗余阵列"的意思,就是利用多块廉价的硬盘组成磁盘组,让数据分部储存在这些硬盘里面,从而达到读取和写入加速的目的;也可以用作数据的冗余,当某块硬盘损毁后,其他硬盘可以通过冗余数据计算出损坏磁盘的数据,这样就提高了数据储存的安全性。
Raid0数据储存方法如下(假设有两块硬盘D1、D2):
特点:数据被并行写入每个磁盘,每个磁盘都保存了完整数据的一部分,读取也采用并行方式,磁盘数量越多,读取和写入速度越快。因为没有冗余,一个硬盘坏掉全部数据丢失。至少两块硬盘才能组成Raid0阵列。
容量:所有硬盘之和。
Raid1数据储存方法如下(假设有两块硬盘D1、D2):
特点:有数据冗余,可靠性强,D1、D2被写入相同的数据,其中D2可以作为D1的完整备份。读取时,从两块硬盘上并行读取,写入慢,读取快。任何一块硬盘坏掉不会丢失数据,至少两块硬盘并且两块硬盘大小相等才能组成Raid1阵列。
容量:所有硬盘容量之和的一半(一半写数据,一半用来做备份)。
Raid4数据储存方法如下(假设有三块硬盘D1、D2、D3):
特点:有数据冗余校验,可靠性强。其中任何一块硬盘坏掉都不会引起数据丢失,D1丢失时,D3根据校验和以及D2的数据进行逆运算,计算出D1的数据。但当写入大量数据时校验盘D3会是一个数据瓶颈,导致写入慢。只有当两块磁盘同时丢失时,数据才无法恢复。至少三块硬盘并且磁盘大小应该相等才能组成Raid4阵列(不常用)。
容量:所有硬盘容量之和减去其中一块硬盘的容量。
Raid5数据储存方法如下(假设有三块硬盘D1、D2、D3):
特点:采用奇偶校验,可靠性强,磁盘校验和被散列到不同的磁盘里面,增加了读写速率。只有当两块磁盘同时丢失时,数据才无法恢复,至少三块硬盘并且硬盘大小应该相等才能组成Raid5阵列。
容量:所有硬盘容量之和减去其中一块硬盘的容量,被减去的容量被分配到三块硬盘的不同区域用来存放数据校验信息。
Raid10(Raid1+Raid0)是现在比较常用的一种磁盘阵列级别,它的容错好,读写数据效率较高,但经费相对也较高。
Raid10数据储存方法如下(假设有四块硬盘D1、D2、D3、D4):
特点:备份和并发式存取数据,可靠性强。D1、D2组成一个阵列Raid1,其中D1是数据盘,D2是备份盘;D3、D4也组成一个Raid1,其中D3是数据盘,D4是备份盘;在这个基础上将D1、D2作为一个整体,将D3、D4也作为一个整体,这两个整体之间再组成一个Raid0阵列。这样不仅仅读取数据会非常快,并发写入的速度也会随着磁盘的增多而变快。至少四块硬盘并且每块硬盘大小应该相等才能组成Raid10阵列。
容量:所有硬盘容量之和的一半(一半写数据,一半用来备份数据)。
Raid01数据储存方法如下(假设有四块硬盘D1、D2、D3、D4):
特点:D1、D2组成一个阵列Raid0,D3、D4也组成一个阵列Raid0,D1、D2和D3、D4再组成一个Raid1。D1和D2作为数据盘阵列,D3和D4作为数据备份阵列,这种方式并不常用,至少四块硬盘并且每块硬盘大小应该相等才能组成Raid01阵列。
容量:所有硬盘容量之和的一半。
这一部分通过Linux上的mdadm命令来实现Raid10磁盘阵列。
实验环境为一台安装了5块硬盘的计算机,操作系统是CentOS7,除系统所在硬盘(/dev/sda)外,其余四块20G的硬盘盘符分别为(/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde);
主要用到的命令:mdadm;
CentOS7中mdadm默认已安装,如果没有安装,可以使用yum在线安装,如下:
到这里,实验的准备工作完成。
新创建的磁盘阵列默认是不能开机自启动的,需要手动创建一个配置文件,让系统在启动的时候自动启动Raid(经过测试,CentOS7并不需要创建这个配置文件,如果重启后磁盘阵列没有随机启动,请使用下面的方法配置一次):
可以在创建RAID的时候指定有几块冗余磁盘,当工作磁盘出现故障的时候,冗余磁盘自动启动,顶替出现故障的磁盘继续工作,请看下面的实例:
下面手动将一块磁盘标记为故障,看看冗余盘是否起作用:
假如/dev/sdc经过测试后发现没有问题,想要重新加入md0使用,可以在系统重启后,使用"mdadm /dev/md0 -a /dev/sdc"命令将它重新(添加)启用。
如果以后,想要加入一块新硬盘到这个raid10里作为备份盘,这块新硬盘需要和其他硬盘(或分区)保持相同的大小,然后使用下面的命令添加:
要想彻底清除RAID以及数据,请使用下面的方法:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流