Linux磁盘管理
硬盘可以分成若干个分区,每个分区可视为独立的磁盘来使用。硬盘的分区方案被记录到“磁盘分区表”中,通常该表由4个部分组成,每个部分定义一个分区的信息,因此原始概念中一个硬盘最多只能建立4个分区,称为“主分区”。由于硬盘越来越大,4个分区已不无法满足用户的需要,为此引入“扩展分区”的概念。扩展分区由扩展磁盘分区表维护,可以把某个主分区作为扩展分区划分为若干更小的“逻辑分区”。理论上,硬盘空间足够时,可以建立任意数量的分区。
Linux上建议的分区有:swap分区,即虚拟内存;boot分区,存放操作系统的内核;根分区,整个操作系统的根目录;/var分区,可以避免日志文件的大小失控;/home分区,控制用户占用的空间大小。
文件系统
文件系统用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux系统支持数十种的文件系统,而常见的文件系统如下
文件系统 |
说明 |
Ext3 |
日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与 错误。早是从Ext2开始的 |
Ext4 |
Ext3的改进版本,作为Centos 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录 |
Xfs |
高性能的日志文件系统,而且是Centos 7中默认的文件管理系统,优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它大可支持的存储容量为18EB,满足了所有需求 |
常用的磁盘管理命令
命令 |
作用 |
badblocks |
检查设备坏块 |
|
(-s 显示检查进度) |
du |
统计文件和目录占用的磁盘空间 |
|
(如果没有指定文件或目录名,则默认对当前目录进行统计。-s仅显示文件或目录占用的块数,默认一块等于1024字节。-b以字节为单位进行统计;-k以1024字节为单位;-m以1024K为单位;-c同时显示总计;-h按需显示K、M或G。-a显示所有文件及其子目录占用的数据块数。) |
df |
显示文件系统磁盘空间使用情况 |
|
(不指定文件系统的话,则显示所有当前挂载的文件系统的可用空间。默认情况下空间以1KB为单位进行显示,除非环境变量POSIXLY_CORRECT被指定,此时以512字节为单位。-i以inode模式显示,列出的都为 inode数量;-h以可读方式显示,按需显示K、M或G;-t type只显示指定文件系统的信息,如df -t ext3;-x type与-t相反,不显示指定的磁盘类型的磁盘。) |
fdformat |
格式化磁盘 |
|
(-n表示格式化完成后不进行验证。) |
hdparam |
显示和设定硬盘参数 |
|
(-C显示电源管理,-d 1开启DMA模式。例:hdparm /dev/sda1。) |
mkfs |
设置磁盘的文件系统 |
|
(例:mkfs -t ext4 /dev/sda2。) |
mkswap |
设置交换分区(swap area) |
|
(例:mkswap /dev/hda4,将hda4指定为一个新式的交换分区。-c在创建交换分区前检查坏块;-v0建立一个旧式的交换区,-v1建立一个新式的交换区。) |
mkisofs |
建立ISO9660/JOLIET/HTS文件系统 |
|
(例:mkisofs -o myiso myfile把myfile制作为名为myiso的镜像文件。) |
mkinitrd |
创建ramdisk的镜像文件。(例:mkinitrd myfile.img 2.2.5-15建立名为myfile.img、内核号为2.2.5-15的镜像文件。ubuntu上不支持。) |
mt |
磁带驱动操作 |
|
(语法:mt operation device。操作有rewind、erase等。rmt命令是远端磁带传输协议模块,可以通过进程间通信,远程控制磁带机进行备份、恢复备份操作。) |
mzip |
弹出Zip/Jaz设备中的磁盘 |
|
(-e弹出磁盘;-f与-e同时使用强制弹出;-q查询状态。) |
sync |
将缓冲区内的数据写入磁盘 |
|
(在卸载移动硬盘前,可用sync把内存数据写入磁盘。) |
rsync |
远程同步 |
|
(例:rsync -av -e ssh /home/share/*.doc root@teacher.example.com:/usr/local/share通过ssh把/home/share下的所有doc文件备份到了 teacher主机的/usr/local/share目录下。只同步修改过的文件和目录。-a归档模式;-v:冗余模式。) |
mount
参数 |
作用 |
-a |
安装在/etc/fstab文件中类出的所有文件系统。 |
-f |
伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。 |
-n |
不把安装记录在/etc/mtab 文件中。 |
-r |
讲文件系统安装为只读。 |
-v |
详细显示安装信息。 |
-w |
将文件系统安装为可写,为命令默认情况。 |
-t |
指定设备的文件系统类型,常见的有: |
ext2 |
linux目前常用的文件系统 |
msdos |
MS-DOS的fat,就是fat16 |
vfat |
windows98常用的fat32 |
nfs |
网络文件系统 |
iso9660 |
CD-ROM光盘标准文件系统 |
ntfs |
windows NT/2000/XP的文件系统 |
auto |
自动检测文件系统 |
mount -o 指定挂载文件系统时的选项,有些也可写到在/etc/fstab中,具体参数如下:
注:挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。使用多个-o参数的时候,-o 只用一次,参数之间用半角逗号隔开:
参数 |
作用 |
defaults |
使用所有选项的默认值(auto、nouser、rw、suid) |
auto/noauto |
允许/不允许以 –a选项进行安装 |
dev/nodev |
对/不对文件系统上的特殊设备进 |