新添加的硬盘可以在/dev下找到,下面以新加的一块SCSI硬盘/dev/sdb为例说明。首先用fdisk进行分区。
#fdisk /dev/sdb
进入fdisk模式。可以用m命令来看fdisk命令的内部命令;n命令创建一个新分区;d命令删除一个存在的分区;p命令显示分区列表;t命令修改分区的类型ID号;l命令显示分区ID号的列表;a命令指定启动分区;w命令是将对分区表的修改存盘让它发生作用。
Command (m for help):p //查看新硬盘的分区
Command (m for help):n //创建新分区
Command action
e extended //输入e为创建扩展分区
p primary partition (1-4) //输入p为创建主分区,这里我们选择p
Partion number(1-4):1 //第一个扩展分区,按你需求可以最多分4个主分区
First Cylinder(1-1014,default 1): 1 //第一个主分区起始的磁盘块数
Last cylindet or +siza or +sizeM or +sizeK: +1024MB //可以是以MB为单位的数字
这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。如果要创建扩展分区,就按n,e。扩展分区本身没有办法使用,必须要在扩展分区内再建逻辑分区,操作是n,l。经过多步操作,硬盘被划分成如下分区状况:
Device Boot Start End Blocks Id System
/dev/sdb1 1 100 102384 83 Linux
/dev/sdb2 101 200 102400 83 Linux
/dev/sdb3 201 307 109568 5 Extended
/dev/sdb5 201 260 61424 83 Linux
/dev/sdb6 261 307 48112 83 Linux
其中sdb1,sdb2都是主分区,sdb3是扩展分区,在扩展分区中建了两个逻辑分区,分别是sdb5和sdb6。创建完后用w保存分区。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
这样就分区完,我们还要进行格式化:
mkfs.ext3 /dev/sdb1
或者
#mkfs -t ext3 -c /dev/sdb1 //如果有多个分区,则分区修改为sdb2这样
扩展分区不能直接格式化,需要单独格式化各个逻辑分区。格式化完后我们需要进行挂载分区。
#mkdir /var/www //创建/www目录,我们将把新的分区挂到www下
#mount /dev/sdb1 /var/www //将/dev/sdb1挂载到/var/www
# df //用df命令进行查看
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 3771316 1388956 2190788 39% /
/dev/sda1 101089 9463 86407 10% /boot
none 62988 0 62988 0% /dev/shm
/dev/sdb1 485906 8239 452580 2% /var/www //看到了,这就是我们刚才新挂载的分区
要挂载其他分区操作同上。到这里我们工作已接近尾声了,不过我们如果这样就结束的话,我们每次重新启动服务器后都要进行手工挂载,这样很麻烦,我们需要修改/etc/fstab文件来进行自动挂载。
vi /etc/fstab
添加
/dev/sdb1 /var/www ext3 defaults 1 1
附分区表/etc/fstab格式简介:
linux在引导过程中用该表来按不同的方式装载分区和目录。每个文件系统有几个相干的参数,这些参数确定文件系统如何读取、文件系统有哪些相关用户权限等。
该表一般包含6个字段。
<file system>(有的系统用label表示) 要装载的分区(如/dev/hda2)和文件系统(如/usr)
<dir> (或者mount point等) 要装载的分区和文件系统所在目录
<type>(或format等) 文件系统格式类型,如ext3,vfat
<options>(mount options等) 其值为defaults时,即默认选项,包括参数rw(读写)、suid(SUID权限)、exec(二进制可执行文件)、auto(系统起动时自动装 载)、nouser(只有根用户可以装载,相反为user)、async(数据异步读写)),其它的参数还有umask,unhide(hide), iocharset(语言环境)等,当然你可以自己指定各个值。
<dump>(dump value) dump(英文意为倾倒垃圾)时是否需要BACKUP的标志位,其内定值是0。1表示文件系统自动写入磁盘。
<pass>(Filesystem Check Order) 设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。
例子:如果你有windows分区(fat32)在/dev/hda1处,你想在系统启动时就自动挂载该分区,并且挂载过来之后一般用户可读可写,并且可以显示中文。则在fstab中添加:
/dev/hda1 /mnt/c vfat umask=000,iocharset=gb2312 0 0