设为首页 收藏本站
查看: 578|回复: 0

[经验分享] Linux 分区指南 ——《Ubuntu Server 最佳方案》

[复制链接]

尚未签到

发表于 2016-2-14 12:09:10 | 显示全部楼层 |阅读模式
<!-- [if !supportLists]-->1.1             <!-- [endif]-->Linux 文件系统结构介绍
Linux 操作系统有一些固定的目录。各种Linux发行版的目录结构虽然不会一模一样,但是不会有很大差异。知道了这些目录的作用,不仅对你进行磁盘分区规划很有帮助,而且会让你以后的日常维护工作变得轻松。
Ubuntu文件系统的主要目录如表2.2所示。
表2.2 UbuntuLinux文件系统的主要目录

目   录

英文全名

用   途

/

/

整个目录结构的起始点,所有其它文件和目录都在它下面

/bin

Binaries

用来存放最常用的二进制命令

/boot

Boot

包含引导Linux的主要文件,如grub内核文件

/dev

Devices

所有设备都在该目录下,包括硬盘和显示器等

/etc

etc

系统的所有配置文件都放在它下面

/home

Home

存放各用户的主目录($HOME)及其文件和配置

/lib

Libraries

系统的库文件,有点像Windows的Program Files

/lost+found

lost+found

存放系统异常时丢失的文件(如突然宕机),以利于恢复

/media

Media

加载各种媒体,如光盘、软盘等

/mnt

Mount

加载各种文件系统

/opt

Optionally

用于存放安装的“可选”程序

/proc

Processes

包含进程等信息,是内存的映射,不是真实目录

/root

Root

该目录是root用户的根目录

/sbin

System-only binaries

存放系统专用的二进制命令

/sys

System

存放系统信息

/tmp

Temporary files

存放临时文件

/usr

User

存放普通用户的应用程序,库文件和文档等

/var

Variable files

存放那些在时间、大小、内容上会经常变化的文件

表2.2中各个目录的用途,你应该很了解才行。只要了解了各个目录的用途,你才能在硬盘分区时不至于犯下大的错误。
<!-- [if !supportLists]-->1.2             <!-- [endif]-->“分区”和“挂载点”
平时,我们在讨论Linux的“分区”时,常常混淆“挂载点”和“分区”的概念。其实只要大家都能明白就可以,不必抠字眼。不过,作为Linux系统管理员,我们还是应该弄明白这两个概念的差别。
我们平常所说的“/var分区”,实际上说的是“挂载在/var上的分区”,而“/var”只是一个挂载点。那么什么是“分区”呢?
在Linux中,“分区”是一个一个的设备,放在/dev目录下。如果说IDE硬盘,它们的名字应该是/dev/hda1、/dev/hda2等;如果说SATA或者SCSI硬盘,它们的名字则是/dev/sda1、/dev/sda2等。
<!-- [if !supportLists]-->1.3             <!-- [endif]-->硬盘分区的表示方法
那么什么是hda和sda呢?它们分别是Hard Driver Number A和SCSI Driver Number A的简写,也就是说,hd和sd指出了硬盘的接口类型,后面的a则是序号,表示第几块硬盘。第1块IDE硬盘是hda第2块IDE硬盘是hdb,依此类推;第1块SCSI硬盘用sda表示,那么第2块SCSI就是用sdb表示了,依此类推,往后则是sdc、sdd等。
实际上,sd表示的不仅仅是SCSI设备。除了IDE设备外,SCSI、SATA、USB、Firewire等接口的存储设备都是以sd表示的。
现在你应该已经知道,/dev/sdb2指的是第2块SCSI硬盘的第2个分区,而/dev/hda5指的是第1块IDE硬盘的第5个分区。
表2.3 Linux硬盘分区表示方法

 

IDE接口硬盘

SCSI接口硬盘

 

整个硬盘的表示方法

/dev/hda
/dev/hdb
/dev/hdc
……
/dev/sda
/dev/sdb
/dev/sdc
……
 

硬盘分区的表示方法

/dev/hda1,/dev/hda2…
/dev/hdb1,/dev/hdb2…
/dev/hdc1,/dev/hdc2…
/dev/sda1,/dev/sda2…
/dev/sdb1,/dev/sdb2…
/dev/sdc1,/dev/sdc2…
旧版本的Linux内核中,所有IDE相关的驱动代码,不仅过于复杂,而且问题多多。于是,Linux内核的开发者们从Kernel 2.6.19开始,提供了基于libata的PATA驱动程序,使得IDE设备可以像SCSI设备那样使用。
所以,我们现在所使用的Ubuntu中,无论你使用的是IDE硬盘还是SATA硬盘,你看到的设备都是/dev/sdx而不是/dev/hdx。从此,/dev/hdx不复存在。
需要注意的是,在Linux中,硬盘分区还有另外一种表示方法,这种方法是在grub中使用的grub起源于Grand Unified Bootloader,是一个通用的计算机引导器,支持多种操作系统的多重引导。在grub中,不管是什么接口的存储设备,统统用hdx来表示,其中x是数字,从0开始。比如,第1块硬盘的第1个分区,表示为(hd0,0)。
<!-- [if !supportLists]-->1.4             <!-- [endif]-->Linux分区指南
使用任何Linux系统,都要有至少两个分区:一个是根分区,用“/”表示;另一个是swap(交换)分区。所以,最简单的分区方法就是:先创建swap分区,剩下的所有空间分配给根分区“/”。
swap分区的尺寸,最小应该和内存一样大,最大一般不超过内存的两倍大小。
swap分区就像Windows的虚拟内存交换文件pagefile.sys,系统在需要时会把它当作虚拟内存来使用。比方说在运行大型程序时、在内存优化时,或者在系统休眠时。系统休眠时,把整个内存的数据写入swap分区,这就是为什么你的swap分区的大小至少应该和内存一样大的原因。
此外,最好把/boot也单独创建在一个分区上。因为这个目录下的文件比较重要,万一分区损坏,系统可能无法启动。如果单独创建为一个分区,其它分区损坏就不会影响它,从而提高了系统的稳定性。一般情况下,/boot分区不需要太大,128MB就足够了。
至于其它分区,就要看你的实际需求了。
比方说,如果你的服务器会有很多用户登录上来放文件,那么/home最好单独分区,并给予足够大的空间。
再比方说,如果你的服务器是要放数据库的,这个数据库可能会变得很大,那么/var最好单独分区,并给予足够大的空间。因为数据库默认是放在/var下面的
Web服务器也是一样,因为Web页面默认是放在/var下面的。所以,如果你认为会有人上传大量的文件,那么最好也要把/var单独分区,并给予足够大的空间。
 
提示作为服务器,Hiweed还建议把/tmp单独作为一个分区。因为大部分应用程序都会向这个目录写入临时文件,虽然每次Ubuntu重新启动时这个目录会被清空,但是没有人会动不动重新启动服务器。
<!-- [if !supportLists]-->1.5             <!-- [endif]-->Linux分区案例
Hiweed在帮朋友的公司做系统架构时,在公司内部做了一台开发服务器,在机房里还有Web服务器和数据库服务器。
开发服务器是给所以公司开发人员用的,他们要在“家目录”中存储大量的文件。平时,他们的工作站在启动时,是会自动将开发服务器上自己的“家目录”挂载到本地的。所以,这台服务器的/home是用得最多的,而且需要比较大的空间。
此外,由于是开发服务器,我们还需要一个做版本管理的源代码仓库,这个仓库是放在/var下面的。虽然源代码的文件尺寸不会特别大,不需要特别大的空间,但是这些代码非常重要,所以我们也要像保护/boot那样保护它们。
所以,对于这台开发服务器,我们的分区方案(服务器硬盘共有80 GB[10 GB],内存为1 GB[512 MB]),请见表2.4。
表2.4 开发服务器分区方案

文件系统

挂 载 点

大   小

分区格式

/dev/sda1

/boot

254 MB[254]

ext2

/dev/sda2

/

10 GB[2]

ext4

/dev/sda5

(无)

2 GB[768]

swap

/dev/sda6

/var

20.3 GB[2]

ext4

/dev/sda7

/home

46.8 GB[4.3]

ext4

/dev/sda8

/tmp

2 GB[768]

ext4

以上分区方案只是一个参考,实际分区方案应该根据自己的实际情况而定。
<!-- [if !supportLists]-->1.6             <!-- [endif]-->/etc/fstab 介绍
Linux系统中的所有静态文件系统,全部描述在/etc/fstab这个文件中。fstab是File System Table的简写,也就是“文件系统表”。系统启动时,正是通过fstab中的信息挂载各个分区的。fstab的文件系统条目有6个字段,格式如表2.5所示。
表2.5 fstab格式

设   备

挂载点

格  式

挂载选项

是否备份

检查顺序

/dev/sdb2

/home

Ext4

Defaults

0

2

 

下面我们来介绍一下每个字段的含义,如表2.6所示。
表2.6 fstab各字段含义

字    段

描      述

设备

存储设备(分区)的名字或者UUID

挂载点

要挂载到的目的文件夹名称。挂载后,从该文件夹即可访问设备

格式

文件系统的格式,如:ext4

.挂载选项

挂载的选项。和mount命令的选项相同,详情可参考man mount

是否备份

启用/禁用dump备份


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-177661-1-1.html 上篇帖子: Linux自带Mysql、Apache、Php卸载 下篇帖子: Linux下JDK安装详悉说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表