Linux系统中的分区和文件系统
1、 linux系统中的文件系统和类型简介
l ext2、ext3文件系统都是linux系统的文件系统类型,但是ext3是ext2文件系统的后续版本,是在ext2文件系统上加入了文件系统日志的管理机制,这样的好处在于在服务器断电而停机后再次启动时,操作系统会根据系统的日志检测并恢复文件系统到正常状态,避免了向ext2文件系统那样需要对整个文件系统的磁盘空间进行扫面,大大提高了系统恢复运行的时间
l swap文件系统是linux系统中作为交换分区使用的,交换分区用于操作系统管理内存的交换空间,在安装linux系统是,swap分区是必须建立的,并且其类型一定是swap,交换分区由系统自动管理,用户不需要对其进行过多的操作
l vfat分区是对DOS下的FAT文件系统的统称,包括FAT12、FAT16、FAT32
l NFS文件系统即网络文件系统,是用于在Unix系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本地的文件目录中。可以像操作本地文件系统一样操作NFS文件系统中的内容
l ISO9600是光盘所使用的标准文件系统
l reiserfs和 jfs文件系统是日志文件系统
2、 建立使用文件系统的一般方法
建立文件系统一般是在系统安装的时候就会建立,但是在我们实际应用中,往往会对现有的文件系统的分区进行调整或建立新的分区。比如说扩充文件系统的存储容量(即添加一块硬盘)。linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI、SATA、USB硬盘为sdx(x为a—z)),硬盘主分区最多为4个 ,所以主分区从sdb1开始到sdb4,逻辑分区从sdb5开始,(逻辑分区永远从sdb5开始…)设备名可以使用fdisk –l查看
[root@CentOS-Test /]# fdisk –l //查看硬盘分区信息 Disk /dev/sda: 21.5 GB, 21474836480 bytes //第一块硬盘(sda)大小 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00036e82 //第一块硬盘分成三个区 sda1 sda2 sda3 Device Boot Start End Blocks Id System /dev/sda1 * 1 1275 10240000 83 Linux /dev/sda2 1275 1406 1048576 82 Linux swap / Solaris /dev/sda3 1406 1431 204800 83 Linux
Disk /dev/sdb: 21.5 GB, 21474836480 bytes //第二块硬盘(sdb)大小 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x98fefa90 //第二块硬盘未分区 Device Boot Start End Blocks Id System |
l 在硬盘中建立分区
文件系统都是建立在硬盘分区中的,所以我们先要对硬盘进行分区,进行分区前要先确定分区的类型(即文件系统类型)、分区的大小。分区类型一旦确定将不能改变。我们先将第二块硬盘分成2个区,大小都为10G,文件系统类型为ext4.分区的命令在linux里面是fdisk 设备名
先使用fdisk 查看硬盘信息,即硬盘的设备名称,然后使用fdisk 设备名称 进入分区交互状态
这里是使用fdisk /dev/sdb 对应sdb这块硬盘进行分区,然后进入分区交互对话状态,键入m命令可以查看此交换状态的命令帮助,其中n:创建分区 d:删除分区 p:打印分区信息 w:保存
[root@CentOS-Test /]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition //删除一个分区 l list known partition types m print this menu //打印命令的帮助 n add a new partition //增加一个分区 o create a new empty DOS partition table p print the partition table //打印分区信息 q quit without saving changes //退出交互状态 s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit //将所有的操作写入磁盘即保存 x extra functionality (experts only) Command (m for help): |
[root@CentOS-Test /]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n //创建一个分区 Command action e extended //扩展分区 p primary partition (1-4) //主分区 p //输入的p键,即创建一个主分区 Partition number (1-4): 1 //分区的id号,此为第一个分区 First cylinder (1-2610, default 1): //分区的起始柱面大小,默认直接回车就行 Using default value 1 //默认卷标 //第一分区的终止柱面,格式输入为:+sizeMB Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):+1024MB Command (m for help): n //创建一个分区 Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (126-2610, default 126): Using default value 126 Last cylinder, +cylinders or +size{K,M,G} (126-2610, default 2610): 1024MB Command (m for help): p //打印分区信息
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x98fefa90 //分区信息列表 Device Boot Start End Blocks Id System /dev/sdb1 1 125 1004031 83 Linux //第一分区 /dev/sdb2 126 1024 7221217+ 83 Linux //第二分区 Command (m for help): w //执行保存操作 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
l 在分区上建立文件系统(格式化)
[root@CentOS-Test /]# mkfs.ext4 /dev/sdb1 |
l 把分区挂载到系统中
手动挂载:此种方式挂载在系统重启后不会自动挂载 [root@CentOS-Test /]# mount /dev/sdb1 /bak [root@CentOS-Test /]#mount all stuff from /etc/fstab //挂载所有的设备从fstab文件中 自动挂载:将挂载信息写入/etc/fstab文件中 加入如下信息: /dev/sdb1 /web ext4 defaults 0 2 /dev/sdb2 /bak ext4 defaults 0 2 这样重启后就会自动挂载 修改完/etc/fstab时,应该用 mount -a将所以设备挂载进行测试 卸载:[root@CentOS-Test /]# umount /dev/sdb1 |
3、/etc/fstab文件说明
[root@bys ~]# more /etc/fstab |
第一列:设备名或者设备卷标名 指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。 //把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。 mount 192.168.1.56:/home/nfs /mnt/nfs/ -o nolock 如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/。 如果想把本机上的某个设备(device)挂载上来,写法如:/dev /sda1、/dev/hda2或/dev/cdrom |
第二列:设备挂载目录(例如上面的“/”或者“/mnt/D/”) |
第三列:设备文件系统 |
第四列:挂载参数 |
第五列:指明是否要备份。(0为不备份,1为要备份,一般根分区要备份) |
第六列:指明自检顺序。(0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2) |
3、 对于/etc/fstab文件操作有误造成系统不能启动的解决方法
装入安装盘,选择 linux rescue模式,这时分区都挂到 /mnt/sysimage 下
根据系统提示
4、 常用到的文件系统命令
1、 fdisk –l 查看磁盘信息
2、 df –h 查看分区挂载信息及使用情况
[root@CentOS-Test ~]# df -h 文件系统 容量 已用 可用 已用%% 挂载点 /dev/sda1 9.7G 3.2G 6.0G 35% / tmpfs 504M 260K 504M 1% /dev/shm /dev/sda3 194M 60M 124M 33% /data /dev/sr1 2.2G 2.2G 0 100% /media/RHEL_4-U7 i386 Disc 1 /dev/sdb1 966M 18M 899M 2% /web /dev/sdb2 6.8G 144M 6.3G 3% /bak |