7磁盘规划 linux

2017-08-01 15:23:43 weishujie000 阅读数 69580

使用虚拟机时发现磁盘空间不够了,需要挂载一个磁盘以供继续使用,但是磁盘不是添加就可以使用的,还需要进行挂载。

一、添加磁盘

添加加新硬盘重启服务器

添加完之后就可以重启机器了,如果你机器是开启的,进入系统并不能看见你刚添加的那块磁盘,只有等系统重启,重新加载之后才会显示安装的那块磁盘

二、进入系统

使用root用户进入系统

三、 查看硬盘信息

[root@localhost ~]# fdisk -l   //磁盘命令
Disk /dev/sda: 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: 0x000c4cb5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM

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: 0xd0f5c869

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  83  Linux

Disk /dev/sdc: 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: 0x00000000

可以看到这台机器加载了三个磁盘sda、sdb、sdc
其中sda是初始磁盘,sdb已经初始化且经过使用,sdc是刚刚加载的,未格式化的新磁盘

四、创建新硬盘分区

[root@localhost ~]# fdisk /dev/sdc #进入磁盘
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x45a3cadb.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

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  #各分区类型所对应的ID
   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): p //打印分区信息,可以看到当前并没有分区

Disk /dev/sdc: 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: 0x45a3cadb

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n //创建一个新的分区
Command action
   e   extended//输入e为创建扩展分区  
   p   primary partition (1-4) //输入p为创建逻辑分区  
p
Partition number (1-4): 1//划分逻辑分区
First cylinder (1-2610, default 1): //我这里直接回车,是不想把该磁盘分成多个分区,把整个磁盘作为1个分区
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 
Using default value 2610

Command (m for help): p //再次查看可以看到该磁盘已经有1个分区了

Disk /dev/sdc: 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: 0x45a3cadb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        2610    20964793+  83  Linux
Command (m for help): w //保存分区
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

再次使用”fdisk -l”命令查看磁盘信息

Disk /dev/sdc: 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: 0x406a4c58

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        2610    20964793+  83  Linux

第三块磁盘/dev/sdc已经分区好了

五、格式化分区

[root@localhost ~]# mkfs.ext3 /dev/sdc1
//将/dev/sdc1格式化为ext3类型,好像大部分的磁盘都是格式化为ext3类型,具体为什么没有深入研究,暂时不清楚,想了解的朋友可以自己查一下
[root@localhost ~]# mkfs.ext3 /dev/sdc1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5241198 blocks
262059 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000

正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

格式化完毕,此时就可以使用“mount”命令挂载分区了,然后使用这个磁盘空间了

六、挂载分区以及开机自动挂载

[root@localhost ~]# df -h //此时只有sda1和sdb1两个磁盘挂载
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   15G  1.5G  92% /
tmpfs                         932M   76K  932M   1% /dev/shm
/dev/sda1                     485M   40M  421M   9% /boot
/dev/sdb1                      20G  1.2G   18G   7% /disk/diskone
/dev/sr0                      4.2G  4.2G     0 100% /media/CentOS_6.5_Final
[root@localhost /]# cd /disk/
[root@localhost disk]# ll
总用量 4
drwxr-xr-x. 4 root root 4096 728 17:04 diskone
[root@localhost disk]# cd diskone/
[root@localhost diskone]# ll
总用量 20
drwx------. 2 root root 16384 728 16:12 lost+found
drwxr-xr-x. 2 root root  4096 728 17:09 software
[root@localhost diskone]# cd ../
[root@localhost disk]# mkdir disktwo //创建被挂载的路径
[root@localhost disk]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 728 17:04 diskone
drwxr-xr-x. 2 root root 4096 81 16:48 disktwo
[root@localhost disk]# mount /dev/sdc1 /disk/disktwo/ //进行挂载
[root@localhost disk]# df -h //再次查看,发现sdc1已经挂载在/disk/disktwo路径下
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   15G  1.5G  92% /
tmpfs                         932M   76K  932M   1% /dev/shm
/dev/sda1                     485M   40M  421M   9% /boot
/dev/sdb1                      20G  1.2G   18G   7% /disk/diskone
/dev/sr0                      4.2G  4.2G     0 100% /media/CentOS_6.5_Final
/dev/sdc1                      20G  173M   19G   1% /disk/disktwo

磁盘已经挂载上了
下面设置开机自动挂载
编辑/etc/fstab文件,再最后面添加
/dev/sdc1(磁盘分区) /disk/disktwo(挂载目录) ext3(文件格式)defaults 0 0

vim /etc/fstab
/dev/sdc1(磁盘分区)  /disk/disktwo(挂载目录) ext3(文件格式)defaults  0  0

之后重启就OK啦!!!

2017-11-30 11:34:44 achenyuan 阅读数 167281

第一:统一磁盘整体情况,包括磁盘大小,已使用,可用

1.查看当前目录

命令

df -h

结果:
这里写图片描述
统一每个目录下磁盘的整体情况

2.查看指定目录

在命令后直接放目录名,比如查看“usr”目录使用情况:

df -h /usr/

结果:
这里写图片描述
统一了指定目录一使用情况,及分配的最大空间

第二:具体查看文件夹的占用情况。

1.查看当前目录每个文件夹的情况。

命令:

du --max-depth=1 -h 

结果如下:
这里写图片描述
最后一行统计整体占用多少磁盘

2.指定目录

只要在命令后直接根目录名,以目录“/usr”为例
命令如下:

du --max-depth=1 -h  /usr/

结果如下:
这里写图片描述

第三:计算文件夹大小

为了快算显示,同时也只是想查看目录整体占用大小。可以直接使用du -sh 命令,如果想查看指定目录,直接在命令后根目录即可。
命令:

du -sh /usr/

结果如下:
这里写图片描述

第四:总结

其中df -hdu -sh使用的比较多,一个统计整体磁盘情况,一个看单独目录点用情况,而命令du --max-depth=1 -h查看了目录下文件夹占用情况,使用比较少,可以用du -sh代替,而且命令较长,当然并不是说它没用。

2018-09-14 15:03:28 dongyuxu342719 阅读数 23361

Linux系统一般都会有未挂载的磁盘,如果我们想使用这些为挂载的磁盘就需要挂载到指定目录才能使用。

一、有多个磁盘,将未分区的磁盘挂载

1、进入root用户

su –

2、查看已挂载磁盘的使用情况:

df –h

可以看到系统已经挂载了sda磁盘,并分为sda1、sda2、sda3,3个分区

3、查看所有磁盘信息(包括未挂载磁盘):

fdisk –l

4、创建新的磁盘分区

首先进入磁盘:

fdisk /dev/sdb

1)选择分区号,linux基本分区和扩展分区之和不能大于4,所以在1-4直接选择,一般是从大到小按编号选:输入命令n,然后输入1。

2)输入命令t,然后输入分区类型,输入8e表示虚拟逻辑卷分区,后期硬盘分区空间不足可以在线扩容。

3)输入命令w,重写分区表。

5、查看创建的分区

1)使用fdisk –l查看创建的分区,有时候会看不到创建的新分区,此时使用fdisk命令看不到新建的分区信息。

2)partprobe 是一个可以修改kernel中分区表的工具,可以使kernel重新读取分区表而不用重启系统。命令:

partprobe /dev/sdb

3)将物理硬盘分区初始化为物理卷,以便LVM使用:

pvcreate /dev/sdb1

6、创建卷组和逻辑卷并格式化

1)使用命令

vgcreate test_vg /dev/sbd1

创建卷组test_vg

2)创建逻辑卷test_lv:

lvcreate –l +100%FREE –n test_lv test_vg

3)df –hT查看空间使用情况

4)格式化逻辑卷

mkfs.ext4 /dev/test_vg/test_lv     

7、创建目录将新的分区挂载到创建的目录

1)创建目录data:

mkdir /data

2)挂载目录

mount /dev/test_vg/test_lv /data

8、partprobe显示资源正忙,这种情况,需要重启服务器才行

9、设置分区在系统重启后自动挂载:

vim /etc/fstab

这一点一定要注意,否则可能出现数据丢失的情况

二、机器只有一个磁盘,挂载剩余空间

1、使用fdisk –l查看机器磁盘信息,发现只有一个磁盘,且存在未挂载的空间,现在增加新分区,挂载磁盘剩余空间。

2、输入

fdisk /dev/sda

进入磁盘空间

3、输入命令n,选择分区号,由于sda已经已经分了sda1、sda2、sda3三个分区,因此又能输入4。

4、输入命令t,选择分区4,输入分区类型8e,代表逻辑卷。然后输入w重写分区表。

5、输入

partprobe /dev/sda4

提示没有这个文件或目录,输入partprobe也提示资源正忙,因此只有重启机器了。。

6、重启之后输入fdisk –l 查看分区信息,然后

pvcreate /dev/sda4

,将物理硬盘分区初始化为物理卷。

7、创建卷组和逻辑卷并格式化

1)输入

vgcreate test_vg /dev/sda4

,创建卷组test_vg

2)创建逻辑卷test_lv:

lvcreate –l +100%FREE –n test_lv test_vg

3)df –hT查看空间使用情况

4)格式化逻辑卷

mkfs.ext4 /dev/test_vg/test_lv

8、创建目录挂载分区

1)mkdir /data

2)mount /dev/test_vg/test/lv /data

9、设置开机自动挂载分区

vim /etc/fstab

添加:

/dev/test_vg/test_lv /data ext4 defaults 0 0

2013-06-24 13:50:45 ttpage 阅读数 1740
1.       文件系统格式
文件系统是操作系统最为重要的一部分,它定义了磁盘上存储文件的方法和数据结构。文件系统是操作系统组织、存取和保存信息的重要手段,没种操作系统都有自己的文件系统,如Windows所使用的文件系统主要有FAT32NTFSLinux所用的文件系统主要有ext2ext3等。
虽然每一种文件系统提供的功能与特点各不相同,但Linux可以支持多种文件系统,它支持的文件系统有extext2ext3hpfsiso9660msdosnfsntfs等,这使得它更加灵活,并可以和许多其他种操作系统共存。
 
2.       Linux中硬件设备的表示方法
 
设备
Linux中的代号
IDE硬盘
/dev/hd[a-d]
SCSI硬盘
/dev/sd[a-p]
USB设备
/dev/sd[a-p](SCSI硬盘一样)
CD/DVD-ROM
/dev/cdrom
打印机
/dev/lp[0-2]
磁带
/dev/ht0(IDE)/dev/st0(SCSI)
Linux系统当中,每个设备都被当成一个文件来对待!所以我们在使用这个设备的时候就要去调用相对应的文件来加载设备,例如要使用光驱,就要加载/media/cdrom或者把光驱加载到一个挂载点上(一个目录),这些内容以后我会详细介绍。
 
 
3.       硬盘分区的命名
1Windows硬盘分区的命名
Windows使用盘符来标明硬盘的各个分区,如CDE等,最大的盘符是Z
 
2Linux硬盘分区的命名
我先解释一下硬盘代号,这里以IDE硬盘为例
一般主板上会有2IDE插槽,分别为IDE1IDE2,同时每个IDE口可以挂两块硬盘,这样,四块硬盘就会这样标识:IDE1通道通过跳线设置为primary的时候,硬盘显示为hda,如果设置为secondary的时候,硬盘标识为hdb。以此类推,就可以得到下面这个表
硬盘通道
硬盘模式
Linux中的标识
IDE1
Permary
Hda
IDE1
Secondary
Hdb
IDE2
Permary
Hdc
IDE2
Secondary
Hdd
Linux中,分区使用设备名称+分区号码来表示,主分区或扩展分区号码编号为1-4,逻辑分区的分区编号从5开始。例如下表:
名称
说明
/dev/hda
IDE接口的主盘
/dev/hda1
IDE接口的主盘第1个分区(主分区或扩展分区)
/dev/hda2
IDE接口的主盘第2个分区(主分区或扩展分区)
/dev/hda5
IDE接口的主盘第1个逻辑分区
主分区可以直接使用,扩展分区不能直接使用,需要分为逻辑分区后使用,一个扩展分区可以分为多个逻辑分区。
 
4.       Linux分区方案
对于初学者来说,只需要2个分区就可以了。
Swap分区:swap分区的作用是充当虚拟内存,其大小通常是物理内存的两倍左右。
/()分区:Linux将大部分的系统文件和用户文件都保存在/()分区上,所以该分区一定要足够大,一般要求大于5GB
 
以上仅对刚刚学习Linux的初学者而言,但对于实际应用中的主机,不会将所有数据都放置在/()目录中,一般会根据提供的服务类型调整分区。
 
/():这时/只用来存储配置文件和临时文件了
/boot:系统引导分区,存放系统的引导文件,一般设置为100M左右
/usr:存放操作系统文件,如果是数据库服务器,这个目录一定要大哦。
/var:系统提供的各类服务的预存储目录均存放在这里,如www服务等。空间大小可根据使用的服务来制定。
/home:用户主目录。  主要存放用户的个人数据信息及为sambamail服务提供数据空间
/etc:系统配置文件存放于此
/tmp:临时文件
在了解了这些目录的作用后,在根据需要来划分分区就会变得很简单。
 
 
下面以我为例来讲解一下具体的分区过程,便于大家理解。
 
实验工具:VMware Workstation 6.0
Linux版本:renhat enterprise 5
虚拟机中我将放入两块硬盘来存放不同的分区。
载入as5的镜像后,开启电源根据提示到硬盘分区选项这里,选择“建立自定义的分区结构”
 
下一步后,会有两块硬盘可供选择:hdahdb。按照我现在的情况,主要以学习应用服务为主,这样,我把系统目录、引导分区及配置文件目录放在hda ,把系统服务目录、用户主目录放在hdb上。
具体可以这样操作:
(1)     新建boot分区
点击“新建”,设置如图,注意,允许的驱动器只选择hda就可以了
(2)      新建交换分区swap
点击“新建”,直接在文件系统中选择swap即可,大小为物理内存的两倍,这里我物理内存给了512M,所以swap大小为1000M。驱动器依然选择hda
(3)     新建/()分区,依然是在hda上,大小为40G
(4)     hda上可以根据需要创建一个备份分区,这里我创建/backup为备份分区,大小10G。其余剩下的空间可以备用。
(5)     新建/var分区,这次是在hdb硬盘上哦,空间指定大一些,因为应用服务通常会占用比较大的磁盘空间
(6)     新建用户主目录分区,如果要使用samba服务的话,建议空间分配大一点
磁盘分区完成,之后的步骤就是设定系统设置了,这里不做介绍。
2008-04-09 14:26:00 aaronychen 阅读数 161843

在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。在这个过程中间,最大的困惑莫过于给硬盘进行分区。虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多的人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定,以及它下面最有效的分区工具― Fdisk 的使用方法。

首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区logical partion),况且逻辑分区没有数量上限制。

对习惯于使用doswindows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些初上手 red hat linux的用户,可就有点恼人了。因为对red hat linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。red hat linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫载入的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

windows用户来说,操作系统必须装在同一分区里,它是商业软件! 所以你没有选择的余地!对red hat linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。

下面从这两个方面入手,来讲解这个困扰大家的问题。

Linux 的分区规定

   1. 设备管理  

  Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字14表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。

例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sdasdbsdc 等。

2. 分区数量   

要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE SCSI)设备,Linux 分配了一个 1 16 的序列号码,这就代表了这块硬盘上面的分区号码。
  例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1sdb1 等。

3. 各分区的作用    

Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。
  对于早期的 DOS WindowsWindows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。

这就是主分区和扩展分区及逻辑分区的最大区别。  

我们在指定安装引导 Linux bootloader 的时候,都要指定在主分区上,就是最好的例证。
  Linux 规定了主分区(或者扩展分区)占用 1 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1hda2hda3hda4,而逻辑分区占用了 hda5 hda16 12 个号码。
  因此,Linux 下面每一个硬盘总共最多有 16 个分区。
  对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS Windows 系统上也是如此规定),而不是主分区上。
  因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为 操作系统 的引导。 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。
  4. 分区指标  

对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。
  Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32FAT16NTFSHP-UX,以及各种 Linux 特有的 Linux Native Linux Swap分区类型。
  在 Linux 系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍Fdisk的使用方式的时候将会介绍。
   5 
常用分区

/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个 分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够 启动。这个分区的大小约在50mb—100mb之间。但是如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。

/usr分区,是red hat linux系统存放软件的地方,如有可能应将最大空间分给它。

/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如 果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普 通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有 绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。

/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。

/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。 这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操 作,所以它通常会比其它的部分更快地发生问题。

/bin分区,存放标准系统实用程序。

/dev分区,存放设备文件。

/opt分区,存放可选的安装的软件。

/sbin分区,存放标准系统管理文件。

上面介绍了几个常用的分区,一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。


Fdisk
使用详解

下面通过介绍 Fdisk 的使用方法,来巩固上面所学到的各种关于 Linux 分区的知识。
  Fdisk 是各种 Linux 发行版本中最常用的分区工具,是被定义为 Expert 级别的分区工具,它让初学者有点望而却步。
  1. Fdisk 参数说明
   运行Fdisk的时候,首先映入眼帘的是欢迎界面,用户通过在这个界面中输入命令参数来操作Fdisk。用户通过提示键入 “m”,可以显示 Fdisk 命令各个参数的说明。 读者可以看到 Fdisk 有很多参数,可是经常使用的就是几个,如果读者熟练掌握这几个参数就可以流畅地运用 Fdisk,对 Linux 的硬盘进行分区。我们先简单介绍各个参数的意义,然后详细说明几个重点参数。
  用户在 Linux 中进行分区的时候,最常用的参数分别是 dlmnpqtw 等。

2. Fdisk 进行分区

Linux 分区过程,一般是先通过 p 参数来显示出硬盘分区表信息,然后根据信息确定将来的分区。如果想完全改变硬盘的分区格式,就可以通过 d 参数一个个删除存在的硬盘分区。

例如 d1d2 删除完毕,就可以通过 n 参数来增加新的分区。当按下 “n” 后,我们就可以看到新增的分区。这里要选择新建的分区类型,是主分区还是扩展分区;然后选择 p 或是 e。它们的区别在上文中已经说明。然后就是设置分区的大小。需要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了,在增加分区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,例如 Linux Swap FAT32 等,可以通过命令 t 来改变, 当按下 “t” 改变分区类型的时候,系统会提示要改变哪个分区,并且改变为什么类型(如果想知道系统所支持的分区类型,键入 l)。Linux 所支持的分区类型号码和其对应的分区类型,可以参考表 2(这些信息可以用 l 命令得到)。改变完了分区类型,就可以按下 “w”,保存并且退出。如果不想保存,那么可以选择 “q” 直接退出。

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.67M);而这个磁盘大小是80.0 GB 80026361856byte),其实实际大小也就是78150.744M);通过我们一系列的计算,我们可以得出这个硬盘目前还有使用的空间;大约还有18G未分区的空间;

我们也可以指定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

自己试试看?

我们也可以通过: cat /proc/partitions查看目前机器中的所有磁盘及分区情况

 

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

 

通过以上两个方面的学习,相信对于初学者来说,分区已经不再是 Linux 进阶中的绊脚石了。

 

linux 磁盘io监控

阅读数 8980