一、磁盘的识别与分区
1.磁盘的组成
磁面:每一张磁盘的表面
磁道:每一个磁面的空间,会逻辑地切割出很多磁道
扇区:每一个磁道可以再切割出若干扇区,也是调用磁盘的最小单位。现今磁盘中的扇区默认大小为512字节。
磁柱:一个硬盘会有多个磁盘,每个磁盘上同一编号的磁道就组成了磁柱。
2.磁盘分区表示
Linux中将硬盘、分区等设备均表示为文件
3.主引导记录(MBR)
整个硬盘的第0号磁柱的第0号磁面的第一个扇区称为MBR,它的大小是512字节。MBR存储着下列信息:
初始化程序加载器:占446字节;
分区表:占64字节的空间,存储这个磁盘的分区信息。
验证码:占2字节的空间,用来存储初始化程序加载器的检查码(checksum)。
4.硬盘分区
所谓分区,实际上就是把硬盘上的存储空间在逻辑上分为若干个相互独立的区域,每一个区域就称为一个分区。在各分区上用户可以分别建立文件系统,在使用时,用户感觉到每个分区就好像是一张“独立的大磁盘”一般。
5.分区类型
由于分区表的限制,一个硬盘上最多可以建立4个基本分区。
基本分区可分为两类:主分区和扩展分区,其中扩展分区只能有一个。
基本分区(包括主分区和扩展分区)的编号范围是1-4,逻辑分区是从5开始的。
扩展分区不能直接使用,还需要划分成逻辑分区才行。
6.最合理的分区方式
主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区
主分区+扩展分区个数最多四个
7.硬盘和分区的结构
8.硬盘和分区
MBR:主引导记录
主分区,一个硬盘允许4个主分区
扩展分区:一个硬盘允许3个主分区,1个扩展分区
逻辑分区:在扩展分区上创建 命名:/dev/sda1
9.确认系统中的磁盘设备
fdisk命令 格式:fdisk -l [磁盘设备]
[root@localhost ~]# fdisk -l
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 7832 62806117+ 8e Linux LVM
Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
10.规划硬盘中的分区
fdisk命令
用途:在交互式的操作环境中管理磁盘分区
格式:fdisk [磁盘设备]
交互模式中的常用指令
m:查看操作指令的帮助信息
p:列表查看分区信息
n:新建分区
d:删除分区
t:变更分区类型
w:保存分区设置并退出
q:放弃分区设置并退出
11.交换内存是RedHat Enterprise Linux用来取代物理内存的,以便提供更多内存空间的一种机制。物理内存不足时使用,以便腾出更多的内存空间给其他应用程序使用。也就是说, RedHat Enterprise Linux 有足够的物理内存时,甚至不会用到任何的交换内存。
二、建立和管理文件系统
1.文件系统
文件系统有以下几种含义:
①指一种特定的文件格式。例如,我们说Linux的文件系统是ext4,MSDOS的文件系统事FAT16,而Windows XP的文件系统事NTFS或FAT32。
②指按特定格式进行了“格式化”的一块存储介质。当我们说“安装”或“拆卸”一个文件系统时,指的就是这个意思。
③指操作系统中(通常在内核中)用来管理文件系统以及对文件进行操作的机制及其实现。
2. 文件系统类型
普通文件
目录文件
符号链接文件
设备文件
套接字文件
命名管道文件
3.文件系统结构
4.创建文件系统
对一个新的硬盘进行分区以后,还要对这些分区创建文件系统。一个分区只有建立了某种文件系统后,这个分区才能使用。建立文件系统的过程,就是用相应格式化工具格式化分区的过程,这个过程和在windows系统中格式化某个分区为NTFS分区的过程类似。
5.在分区中创建文件系统
mkfs命令
用途:Make Filesystem,创建文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备
[root@localhost ~]# ls /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.ext3 /sbin/mkfs.msdos
/sbin/mkfs.cramfs /sbin/mkfs.ext4 /sbin/mkfs.vfat
[root@localhost ~]# mkfs -t ext4 /dev/sdb1
mkswap命令
用途:Make Swap,创建交换文件系统
格式:mkswap 分区设备
[root@localhost ~]# mkswap /dev/sdb6
Setting up swapspace version 1, size = 2006929 kB
[root@localhost ~]# swapon /dev/sdb6
[root@localhost ~]# free | grep -i swap
Swap: 3008456 0 3008456
[root@localhost ~]# swapoff /dev/sdb6
[root@localhost ~]# swapon -s
三、文件系统的挂载
1.挂载文件系统
每个文件系统都会提供一个根目录,该文件系统中的所有文件,就存储在其根目录下。Windows操作系统允许以硬盘符号直接指定要使用哪个磁盘的文件系统根目录,但是Linux中,整个系统只会有一个根目录。在Linux系统中使用某个磁盘空间的根目录与其中的所有文件,就必须将该文件系统挂载到根文件系统的某个目录中。挂载这个动作,用来告诉Linux系统:现在有一个磁盘空间,请你把它放在某一个目录中,好让用户可以调用里面的数据。 挂载文件系统时,必须用设备文件(如/dev/sda5)来指定要挂载的文件系统,以及一个称为挂载点的目录。 使用mount和umount命令可以实现挂载和卸载功能,这样用户才可以使用相应的设备存储数据。
mount命令
用途:挂载文件系统、ISO镜像到指定文件夹
格式:
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
umount命令
用途:卸载已挂载的文件系统
格式:
umount 存储设备位置
umount 挂载点目录
2.挂载示例
硬盘分区挂载、卸载示例
建立挂载点目录:/mailbox
挂载分区设备:/dev/sda5
访问分区设备: 挂载点目录/mailbox中创建文件进行测试 查看/mailbox目录中的内容
查看已挂载分区的使用情况(df -h)
卸载分区设备:/dev/sda5
光盘设备挂载、卸载示例
mkdir /media/cdrom
mount –t iso9660 /dev/cdrom /media/cdrom
挂载文件系统是FAT32格式的U盘
fdisk –l 查看U盘的设备号,假设为/dev/sdb
mkdir /media/disk
mount –t vfat /dev/sdb /media/disk
ISO镜像文件挂载示例
[root@localhost ~]# mkdir /media/fedora
[root@localhost ~]# mount -o loop F10-i686-Live.iso /media/fedora
[root@localhost ~]# ls /media/fedora
EFI GPL isolinux LiveOS README
3.卸载文件系统
使用umount命令可以将某个分区、光盘、软盘或是U盘进行卸载。
命令语法: umount【可选项】【-t < 文件系统类型>】【文件系统】
umount /dev/sda5
卸载分区/dev/sda5文件系统
df
使用df命令可以看到分区/dev/sda5已经卸载
umount /mnt/kk
也可以使用卸载挂载目录的方式卸载该文件系统
4.查看分区挂载情况
要查看Linux系统分区挂载情况,除了可以使用df命令之外,还可以通过mount –s命令获取信息。
mount -s
使用mount命令查看分区挂载情况
5.设置启动载入(永久挂载文件系统)
希望启动时自动挂载的依据/etc/fstab
在/etc/fstab中,需要注意:
对磁盘加载进行配置的文件,每一行说明一个文件系统的挂载记录
其中指定的挂载条目会在系统启动时自动挂载
根目录/必须首先载入
所有载入点和分区同一时间只能载入一次,即已载入的不能再次载入。
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext4 defaults 1 1
LABEL=/boot /boot ext4 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
第一字段:指定了要挂载的设备,可以是一个 /dev 目录下的设备文件,例如 /dev/sdd1,也可以通过设备标签或者所谓的 UUID 来指定要挂载的设备,如 LABEL=某个设备标签
或 UUID=某个设备UUID
。用设备标签或 UUID 更加安全和稳定。
第二字段:挂载点。指定了挂载设备的目录。对于 swap 是没有挂载点,该处就显示 swap。
第三字段:挂载分区文件系统类型。定义了该设备上的文件系统。一般常用的文件系统类型为 ext4,swap 或者 iso9600。
第四字段:挂载参数。指定文件系统挂载后的一些行为属性。多个参数用逗号分隔。defauts 表示默认挂载参数。
第五字段:dump 参数。被 dump 命令使用,来检查一个文件系统是否应该进行 dump 备份。不需要就设置为 0,如果需要每天备份,设置为 1,不定期备份,设置为 2。
第六字段:开机检查分区的次序。该字段被 fsck 命令来确定系统开机时进行文件系统检查的顺序。对于根分区,这个值为 1,表示优先。其它文件系统可以设置为 2,表示次优,如果为 0 或没有设置,开机跳过此文件系统的检查。
6.设置自动挂载示例
每次重新开机后,能够自动完成挂载 将/dev/sdb1分区挂载到/mailbox目录
[root@localhost ~]# vi /etc/fstab
/dev/sdb1 /mailbox ext4 default 0 0
[root@localhost ~]# mount /dev/sdb1
[root@localhost ~]# mount | tail -1
/dev/sdb1 on /mailbox type ext4 (rw)
[root@localhost ~]# umount /mailbox
四、管理交换空间
用文件作为Swap分区
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
2.格式化为交换分区文件:
# mkswap /root/swapfile #建立swap的文件系统
3.启用交换分区文件:
# swapon /root/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
# /root/swapfile swap swap defaults 0 0