Linux学习笔记之系统中的分区和文件系统

来源:互联网 发布:java future isdone 编辑:程序博客网 时间:2024/05/14 02:44

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将所以设备挂载进行测试 ,这时mount读取/etc/fstab中内容进行挂载,如果/etc/fstab的条目无错误,则mount -a后无显示,表示挂载成功;如有错误,则根据提示排查。

卸载:[root@CentOS-Test /]# umount /dev/sdb1

3、/etc/fstab文件说明

[root@bys ~]# more /etc/fstab
dev/hdb3               /mnt/diskone            ext3    defaults        1  
2

第一列:设备名或者设备卷标名

指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。

//IP192.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/”
挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。

第三列:设备文件系统   (例如上面的“ext3”或者“vfat”

第四列:挂载参数   (看帮助man mount

第五列:指明是否要备份。(0为不备份,1为要备份,一般根分区要备份)

第六列:指明自检顺序。0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2

3、  对于/etc/fstab文件操作有误造成系统不能启动的解决方法

装入安装盘,选择 linux rescue模式,这时分区都挂到 /mnt/sysimage
根据系统提示   chroot  /mnt/sysimage获取读写权限,然后就可以修改 fstab文件了。修改完后重启正常

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

0 0