在安装操作系统之前,一般需要先对硬盘进行分区。我们都知道硬盘分区包括
主分区、扩展分区、逻辑分区
三种类型,之所以会有这样的区分,是因为在硬盘的主引导扇区中用来存放分区信息的空间只有
64个字节(主引导扇区一共只有512字节空间),而每一个分区的信息都要占用16字节空间,因而理论上一块磁盘最多只能拥有4个分区,当然这4个分区都是主分区。这在计算机早期是没什么问题的,但后来随着硬盘空间越来越大,4个分区就远远不够了,所以才又引入了
扩展分区的概念。扩展分区也是主分区,但是在扩展分区中可以再创建新的分区
,这些分区就被称为逻辑分区,
逻辑分区的数量就不再受主引导扇区空间大小的限制了
,像IDE磁盘最多可以创建60个逻辑分区。
在
Windows系统中,我们一般都是只创建一个主分区(也就是C盘),再将剩余的磁盘空间全部划给扩展分区,最后在扩展分区中创建逻辑分区。在“磁盘管理”工具中可以清楚地查看到这种逻辑关系。
硬盘:对于
IDE接口的硬盘设备,表示为“hdX”形式的文件名,对于SATA或SCSI接口的硬盘设备,则表示为“sdX”形式的文件名,其中“X”可以为a、b、c、d等字母序号。例如,将系统中的第1个IDE设备表示为“hda”,将第2个SATA设备表示为“sdb”。
分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区对应的数字序号即可。例如,第
1个IDE硬盘中的第1个分区表示为“hda1”、第2个分区表示为“hda2”,第2个SATA硬盘中的第3个分区表示为“sdb3”,第4个分区表示为“sdb4”等。
先认识下相关设备:
hda一般是指IDE接口的硬盘,hda一般指第一块硬盘,类似的有hdb,hdc等
IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因此硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便
sda通常在Linux中表示SATA接口的硬盘
SATA是Serial ATA的缩写,即串行ATA。它是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。这是一种完全不同于串行PATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。2000年11月由“Serial ATA Working Group”团体所制定,SATA已经完全取代旧式PATA(Parallel ATA或旧称IDE)接口的旧式硬盘,因采用串行方式传输数据而得名。在数据传输上这一方面,SATA的速度比以往更加快捷,并支持热插拔,使电脑运作时可以插上或拔除硬件
现在的内核都会把硬盘,移动硬盘,U盘之类的识别为sdX的形式
Linux上面设备皆文件,目前需要知道的,比如U盘和SARA硬盘的在Linux上面的文件名,/dev/sd[a-p]。与IDE接口不同的是,SATA/USB接口的磁盘没有一定的顺序,这里就根据Linux内核检测到磁盘的顺序。
比如PC上面有两个SATA磁盘和一个USB磁盘,而主板上面有六个SATA的插槽。这两个插槽安插在主板上的SATA1,SATA5上面,这三个磁盘在Linux中的设备文件名是什么?由于是使用检测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备的文件名如下。SATA1插槽上的文件名是/dev/sda ,SATA5插槽上的文件名是/dev/sdb ,USB磁盘(开机完成后才被系统识别)的文件名是/dev/sdc。
虽然磁盘是数据存储的地方,但是实际对于数据的写入是在盘片上面。盘片上面又可以细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大。磁盘的第一个扇区是非常重要的,主要记录了两个重要的信息,分别是主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,有446bytes;分区表(partition table):记录整块磁盘分区的状态,有64bytes。MBR是非常重要的,因为当系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何开启。如果你要安装多重引导的系统,MBR更加显得重要。分区表是什么呢?刚才拿到的整块磁盘就像一根原木,你必须在这根原木上面切割出你想要的区段,这个区段才能够再制作成为你想要的家具。如果没有进行切割,那么原木就不能被有效地利用。同样的道理,你必须要针对你的硬盘进行分区,这样硬盘才可以被使用、
IDE接口分主从设备,依次abcd,一个IDE接口只能接两个设备。
255 heads, 63 sectors/track, 243201 cylinders
header 就是磁头数量,255 heads, 63 sectors/track, 14593 cylinders =>255个磁头,63个扇区,14593个柱面
下面列出来的是Linux系统下重要的分区及其作用
/bin :bin是binary的缩写;
/boot :存放启动Linux时使用的一些核心文件;
/root :root(超级管理员)的用户主目录;
/sbin :s就是Super User,存放系统管理员使用的系统管理程序;
/dev :dev是device(设备)的缩写;这个目录下是所有Linux的外部设备;
/etc :所有的系统管理所需要的配置文件和子目录;
/home :用户的主目录;
/lib :存放系统最基本的动态链接共享库;几乎所有的应用程序都需要用到这些共享库;
/lost+found :这个目录平时是空的,当系统不正常关机后,一些丢失文件会存放到该目录下;
/mnt :空目录,系统提供这个目录是让用户临时挂载别的文件系统;
/proc :虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/usr :这是个最庞大的目录,很多应用程序和文件几乎都放在这个目录下;包括以下内容:
/usr/X11R6 :存放X-Windows的目录;
/usr/bin :存放许多应用程序;
/usr/sbin :存放给超级用户使用的一些管理程序;
/usr/doc :存放Linux文档;
/usr/include :Linux下开发和编译应用程序需要的头文件;
/usr/lib :存放一些常用的动态链接共享库和静态档案库;
/usr/local :一般用户的/usr目录,在这安装软件最适合;
/usr/man :帮助文档目录;
/usr/src :Linux开放的源代码就存在这个目录;
/var :存放那些不断在扩充着的东西;为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下;其中,系统的日志文件就在/var/log目录中 hadoop生产环境/var/log最好单独分成一个100GB以上的分区,如果只是测试的话可以不单独给/var/log分区
/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。
/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。
Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来
,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
tmpfs是一种基于内存的文件系统
,它和 虚拟磁盘
ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储。而且传统的ramdisk是个 块设备
,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。
当系统执行的任务临时要求大内存而得不到满足时,将部分不活跃的内存内容移到硬盘上的一个缓存区域,这个专门预留的区域就是swap分区(相当于Windows的页面文件)。内存够用的情况下,如果不用睡眠功能,则swap分区可以小一点,甚至没有;如果要使用睡眠功能,则swap分区尽量不要比内存小。swap相当于Windows下的页面文件,只是它不是使用的文件,而是文件系统。这个分区是必须的,而且一般推荐为内存的1.5-2倍。
一般为内存两倍,当内存大于4G时,可以等于内存大小。boot分区只要100Mb就够了,
网络配置
vi /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
HWADDR=90:B1:1C:8F:5D:9E
TYPE=Ethernet
UUID=5430dc3c-3ac2-4a6b-82f2-ab6e4f573d54
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.44.121
GATEWAY=192.168.44.254
DNS1=192.168.1.1
NETMASK=255.255.255.0
挂载磁盘
fdisk -l 查看系统盘
1.fdisk -l
Disk /dev/sda: 120.0 GB, 120034123776 bytes =>硬盘容量120G
255 heads, 63 sectors/track, 14593 cylinders =>255个磁头,63个扇区,14593个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes =>每个柱面的容量是 8225280
=>存储容量=磁道(柱面)数×磁头数×每道扇区数×每扇区字节数
14593×255×63×512=111.788G
柱面容量=磁头数×每道扇区数×每扇区字节数255×63×512=8225280 B
实际上硬盘厂家通常是按照1G=1000计算的
Disk identifier: 0xc3ffc3ff
Device Boot Start End Blocks Id System =>start 表示的一个分区从X cylinder开始
/dev/sda1 * 1 3824 30716248+ 7 HPFS/NTFS
/dev/sda2 3825 10199 51200000 7 HPFS/NTFS
/dev/sda3 10200 12596 19253902+ 5 Extended
/dev/sda4 12597 14593 16040902+ 12 Compaq diagnostics
/dev/sda5 10200 10211 96358+ 83 Linux
/dev/sda6 10212 10454 1951866 82 Linux swap / Solaris
/dev/sda7 10455 11548 8787523+ 83 Linux
/dev/sda8 11549 12596 8418028+ 83 Linux
2.df:通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 120950932 12182124 102624808 11% /
tmpfs 32958276 68 32958208 1% /dev/shm
/dev/sda6 30234576 1653808 27044924 6% /home
/dev/sda5 50395844 10633932 37201912 23% /opt
/dev/sda3 36387540 15078032 19461088 44% /var
fdisk 对硬盘及分区的操作,进入fdisk 对硬盘操作阶段
我们可以对硬盘进行分区操作,前提是您把fdisk -l 弄明白了;通过fdisk -l ,我们能找出机器中所有硬盘个数及设备名称;比如上面的例子,我们会看到两个设备一个是/dev/hda ,另一个是/dev/sda ;
fdisk 操作硬盘的命令格式如下:
[root@localhost beinan]# fdisk 设备
比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda设备;我们如果想再添加或者删除一些分区,可以用
[root@localhost beinan]# fdisk /dev/hda
或
[root@localhost beinan]# fdisk /dev/sda
注 在以后的例子中,我们要以 /dev/sda设备为例,来讲解如何用fdisk 来操作添加、删除分区等动作;
fdisk 的说明
当我们通过 fdisk 设备,进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/sda 设备为例,以下同;
[root@localhost beinan]# fdisk /dev/sda
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 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
其实我们常用的只有注有中文的,其它的功能我们不常用(呵,主要是我不会用,否则早会卖弄一下了);x扩展功能,也不是常用的;一般的情况下只要懂得 d l m p q t w 就行了;
eg:
分区 fdisk /dev/vdd
n
1 2 3 4
默认回车
+75G
回车
w 保存
下面以实例操作来详述,没有例子没有办法就,新手也看不懂;
列出当前操作硬盘的分区情况,用p
[root@yeexuntdh1 ~]# fdisk /dev/sda
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): P
Disk /dev/sda: 300.0 GB, 300000000000 bytes
255 heads, 63 sectors/track, 36472 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: 0x000a3896
Device Boot Start End Blocks Id System
/dev/sda1 * 1 15298 122880000 83 Linux
/dev/sda2 15298 21673 51200000 82 Linux swap / Solaris
/dev/sda3 21673 26275 36968448 83 Linux
/dev/sda4 26275 36473 81919278 5 Extended
/dev/sda5 26275 32649 51200000 83 Linux
/dev/sda6 32649 36473 30716928 83 Linux
通过fdisk的d指令来删除一个分区
mkfs.ext4 /dev/sdb1 格式化分区
mkdir -p /mnt/data1
mount /dev/sdb1 /mnt/data1 挂在分区
df -h 查看挂载信息
vi /etc/fstab 保存挂载的盘
/dev/vdb /mnt/data2 ext4 defaults 1 1
/dev/vdc /mnt/data3 ext4 defaults 1 1
/dev/vdd /mnt/data4 ext4 defaults 1 1
fstab每一列的含义:
第一列包含着设备名第二列是它的挂载点第三列是它的文件系统格式第四是挂载参数第五列[一个数字]是转储选项[dump options我并不是很了解是什么意思,从字面上译,但实际中我们用到这一列及后一列已经很少]第六列[另一个数字]是文件系统检查选项。dump :在特定时刻,将整个储存装置或储存装置之某部分的内容记录在另一储存装置中。倾出的目的通常是为了除错。 将具备可读格式的数据从主要或辅助储存体复制至外部媒体,如磁带、磁盘或打印机等媒体。为收集错误信息而复制整个虚拟储存体或虚拟储存体之某部分的内容。
存放档案系统与目录结构对应资料的档案
1、fstab文件的作用
在这个文件中,每个文件系统用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以#开头的行是注释信息。Fstab文件中的纪录的排序十分重要。因为fsck,mount或umount等程序在做它们的工作时会按此顺序进行。
http://www.linuxidc.com/Linux/2013-07/87925.htm
其他 都在装系统的时候就配好了
linux挂载SATA硬盘 http://www.2cto.com/os/201210/162252.html
linux系统下面使用fdisk分区命令和mkfs 创建文件系统命令,可以讲移动硬盘分区制作成linux系统所特有的ext2、ext3格式。
Linux磁盘分区、格式化、挂载、卸载 http://blog.csdn.net/openn/article/details/9856451