`

第一章 基本架设服务器流程

 
阅读更多
虽然不同的服务器提供的服务并不相同,而且每种服务的原理也不见得都一样,不过,每种服务器由规划、架设到后续的安全维护, 其实整个流程是大同小异的。什么?你不相信啊?为了让你相信,那我们就来一项一项的分析看看吧!

网络服务器成功联机的分析

底下我们就整个服务器的简易架设流程当中来分析一下,以了解为什么了解操作系统的基础对于网站维护是相当重要的呢?首先,到底我们是如何联机到服务器的? 联机到服务器又取得啥咚咚?我们先以底下这张图示来作个简单的说明好了:

tu

先来理解一下,到底我们联机到服务器想要得到什么?举例来说,你联机到 Youtube 想要看影片,所以对方就提供影片串流数据给你; 你连到 Yahoo 想要看新闻,所以对方就提供新闻的文本文件给你;你联机到无名小站想要看美女,对方就传图档给你;你联机 Facebook 想要去种田,对方就参考你之前留下来的记录,从数据库里面将你的记录拿出来传给你。看到没有,你联机到服务器,重点在取得对方的数据, 而一般数据的存在就是使用档案啰!那你有没有权限取得?最终与该文件系统的设定有关啦!

上图显示的是:首先,客户端到服务器的网络要能够通,等到客户端到达服务器后,会先由服务器的防火墙判断该联机能否放行, 等到放行之后才能使用到服务器软件的功能。而该功能又得要通过 SELinux 这个细部权限设定的项目后,才能够读取到文件系统。 但能不能读到文件系统呢?这又跟文件系统的权限 (rwx) 有关啦!上述的每个部分都要能够成功,否则就无法顺利读取数据啰。

所以,根据上面的流程我们大概可以将整个联机分为几个部分,包括:网络、服务器本身、内部防火墙软件设定、各项服务配置文件、细部权限的 SELinux 以及最终最重要的档案权限。底下就分几个细项来谈谈啰。

A 网络:了解网络基础知识与所需服务之通讯协议

既然要架设服务器,首先当然得要了解一下因特网。因为不管是哪种操作系统,若想要与因特网联机,这个网络基础就得了解。 举例来说,『网域』是经常会谈到的概念,当你发现一个设定为 192.168.1.0/255.255.255.0 时,晓得那是什么鬼东西吗? 如果不知道的话,呵呵!绝对无法设定好网站的啦!另外,为何你需要服务器?当然是想要达成某项网络服务。 举例来说,传输档案可以用 FTP,那 WWW 可以传递档案吗?网芳可以传递吗?各有何用处?哪个比较方便? 对于客户或老板来说,我们所设定的服务能否满足他们的需求等等,这都需要了解,否则你将一头雾水啊! 因此这部份你就得要了解:

基本的网络基础知识:包括以太网络硬件与协议、TCP/IP、网络联机所需参数等;
各网络服务所对应的通讯协议原理,以及各通讯协议所需对应的软件。

B 服务器本身:了解架网络服务器之目的以配合主机的安装规划

想要架设服务器吗?那...架什么服务器?这个服务器要不要对 Internet 开放?这个服务要不要针对客户提供相关账号? 要不要针对不同的客户账号进行例如磁盘容量、可活动空间与可用系统资源进行限制?如果要进行各项资源的限制, 那服务器操作系统应该要如何安装与设定?问题很多吧!所以,先了解你要的服务器服务目的之后,后续的规划才能陆续出炉。 不过,如果架站只是为了『练功』而已,呵呵!那就不需要考虑太多了~

C 服务器本身:了解操作系统的基本操作

网络服务软件是需要建置在操作系统上面的,所以基本的操作系统操作就得要了解才行啊!包括软件如何安装与移除? 如何让系统进行例行的工作管理?如何依据服务器服务之目的规划文件系统?如何让文件系统具有未来扩充性 (LVM 之类)? 系统如何管理各项服务之启动?系统的开机流程为何?系统出错时,该如何进行快速复原等等,这都需要了解的呢!

D 内部防火墙设定:管理系统的可分享资源

一部主机可以拥有多种服务器软件的运作,而很多 Linux distributions 出厂的默认值就已经开放很多服务给 Internet 使用了,不过这些服务可能并不是你想要开放的呢。我们在了解网络基础与所需服务的目的之后, 接下来就是透过防火墙来规范可以使用本服务器服务的用户,以让系统在使用上拥有较佳的控管情况。 此外,不管你的防火墙系统设定的再怎么严格,只要是你要开放的服务, 那防火墙对于该服务就没有保护的效果。因此,那个重要的在线更新软件机制就一定要定期进行!否则你的系统将会非常非常的不安全!

E 服务器软件设定:学习设定技巧与开机是否自动执行

刚刚第一点就提到我们得要知道每种服务所能达成的功能,如此一来才能够架设你所需要的服务的网站。 那你所需要的服务是由哪个软件达成的?同一个服务可否有不同的软件?每种软件可以达成的目的是否相同? 依据所需要的功能如何设定你的服务器软件?架设过程中如果出现错误,你该如何观察与除错? 可否定期的分析服务器相关的登录信息,以方便了解该服务器的使用情况与错误发生的原因? 能否通知多个用户进行联机测试,以取得较佳的服务器设定值?所以这里你可能就得要知道:

软件如何安装、如何查询相关配置文件所在位置;
服务器软件如何设定?
服务器软件如何启动?如何设定自动开机启动?如何观察启动的埠口?
服务器软件激活失败如何除错?如何观察登录档?如何透过登录档进行除错?
透过客户端进行联机测试,如果失败该如何处理?联机失败的原因是服务器还是防火墙?
服务器的设定修改是否有建立日志?登录档是否有定期分析?
服务器所提供或分享的数据有无定期备份?如何定期自动备份或异地备份?

F 细部权限设定:包括 SELinux 与档案权限

等到你的服务器全部设定妥当,最后你所提供的档案数据权限却是给了『 000 』的权限分数, 那鸟哥很肯定的说,大家都无法读到你所提供的数据啊...!此外,新的 distributions 都建议你要启动 SELinux ,那是什么咚咚? 如果你的数据放置于非正规的目录,那该如何处理 SELinux 的问题?又如何让档案具有保密性或共享性 (档案权限概念与 ACL 等) 等等,这也都是需要厘清的观念喔!
上述的服务器架设流程中,其实除了第 5 点之外,其他步骤在各服务器设定都需要了解啊!而且都是一样的东西说! 因此,这些基础如果学会了,最终,你只要知道第 5 点里面那个软件的基础设定,你的服务器一下子就可以设定完成啦! 这样说,你是否开始觉得基础学习很重要啊! ^_^

一个常见的服务器设定案例分析

上面讲完后或许你还是不很清楚到底这些技能如何串起来?鸟哥这里提供一个简单的案例来分析一下好了, 这样你应该就比较容易清楚的知道为何需要学习这些咚咚。

A 网络环境:假设你的环境里面 (不管是家里还是宿舍) 共有五部计算机,这五部计算机需要串接在一起,且都可以对外联机;

B 对外网络:你的环境只有一个对外的联机方式,这里假设是台湾较流行的 ADSL 或 10M 的光纤这种透过电话线拨接的类型;

C 额外服务:你想要让这五部计算机都可以上网,而且其中还有一部可以做为网络驱动器机,提供同学或家人作为数据备份与分享之用;

D 服务器管理:由于你可能需要进行远程管理,因此你这部服务器得要开放联机机制,以让远程计算机可以联机到这部主机来进行维护;

E 防火墙管理:因为担心这部做为档案分享服务器的系统被攻击,因此你需要针对 IP 来源进行登入权力的控制;

F 账号管理:另外,由于同学的数据有隐密与共享之分,因此你还得要提供每个同学个别的账号, 且每个账号都有磁盘容量的使用限制;

后端分析:最后,由于担心系统出问题所以你得要让系统自动定期分析磁盘使用量、登录文件参数信息等等。

在上述的环境中,你要考虑的东西有哪些呢?依据本小节一开始谈到的六个步骤来分析的话,你可能需要底下这些咚咚喔!

了解网络基础

硬件规划

我们想要将五部计算机串接在一块,但是却又只有一个可以对外的联机,此时就得要购买集线器 (hub) 或者是交换器 (switch) 来串接所有的计算机了。但是这两者有何不同?为何 switch 比较贵?我们知道网络线被称为 RJ-45 的网络线, 但网络线材竟然有等级之分,这个等级要怎么分辨?不同等级的线材速度有没有差异?等到这些硬件基础了解之后, 你才能够针对你的环境来进行联机的设计。这部份我们等到下一章再来介绍。

联机规划

由于只有一条对外联机而已,因此通常我们就建议你可以用如下的方式来串接你的网络:

TU

透过 IP 分享器,我们的五部计算机就都能够上网了。此时你得要注意,能否上网与 Internet 有关,Internet 就是那有名的 TCP/IP 通讯协议,而想要了解网络就得要知道啥是 OSI 七层协定。我们也知道能连上 Internet 与所谓的 IP 有关,那么我们内部这五部计算机所取得的 IP 能不能拿来架站?也就是说, IP 有没有不同种类? 如果 IP 分享器突然挂了,那你的这五部计算机能不能联机玩魔兽?这就考虑你的网络参数设定问题了!

网络基础

如果你的同学或家人跑来跟你说,网络不通哩!你直觉会是什么?硬件问题?软件问题?还是啥莫名其妙的问题? 如果你不懂网络基础的 IP 相关参数,包括路由设定以及领域名系统 (DNS) 的话,肯定不知道怎么进行联机测试的。 所以啰,此时你就会被骂说:『怎么都不懂还想要管理我们家网络』...那时不是很糗吗?所以要学好一些嘛! 这部份就很复杂了,包括 TCP/IP, Network IP, Netmask IP, Broadcast IP, Gateway, DNS IP 等等,都需要理解喔!

了解了这些原理之后,你才能够进行除错 (debug) 的工作,否则,错误一出,你可能就会被骂的臭头的! 最常见的错误中,举例来说,如果你的主机明明就可以使用 ping 这个指令去接触远方的主机 (ping IP),但是就是无法使用 ping hostname 去接触远方的主机,请问,这个原因是什么呢?了解网络基础的朋友一看就知道几乎是 DNS 出问题了,不晓得的朋友就是想破头也得不到答案。既然知道出问题的地方,就能够针对该问题去处理嘛!

网络基础会影响到你的网络设定是否正确,这真的很重要吶,因为,如果你的网络不通,那么即使服务器架设成功了, 别人可以看的到吗?所以说,要架站,真的得对网络基础的部分下一些功夫才行的。关于网络基础这部份我们在基础篇并没有谈过, 所以我们会在下一章网络基础时再详加说明喔!

服务器本身的安装规划与架站目的的搭配

如同图 1.2-2 所示,Server 端是在那五部计算机之中,而且 Server 必须要提供针对不同账号给予网络驱动器机,我们这边会提供网芳 (SAMBA) 这个服务,因为他可以在 Linux/Windows 之间通用之故。 且由于需要提供账号给使用者,以及想到未来的磁盘扩充情况,因此我们想要将 /home 独立出来,且使用 LVM 这个管理模式, 并搭配 Quota 机制来控制每个账号的磁盘使用量。

所以说,你得知道 Linux 目录下的 FHS (Filesystem Hierarchy Standard) 的规范,否则分割槽给到错误的目录,会造成无法开机!那为什么要将 /home 独立放入一个分割槽? 那是因为 quota 仅支持 filesystem 而不支持单一目录啊!好了,如果给你一部全新的主机,那你该如何安装你的系统呢?

实作题-全新安装:

请到昆山科大 (http://ftp.ksu.edu.tw/FTP/CentOS/), 义守大学 (http://ftp.isu.edu.tw/pub/Linux/CentOS/) 或国家高速网络中心 (http://ftp.twaren.net/Linux/CentOS/ ) 下载最新的 Linux 映像档来刻录 (2011/07 可下载最新版为 CentOS 6.0),并且依据上述的需求安装好你的 Linux 系统 (最重要的其实就是那个分割而已,其他的动作可以在安装完成后再说)。
答:
由于 Linux 的安装我们已经在基础篇内的第四章介绍过了,这里我们不再使用图形接口来说明, 仅使用文字说明来介绍你在每个项目应该处理的动作而已。此外,由读者们的响应发现,学习者经常只有一部主机, 因此,这里我们建议你使用 Virtualbox (http://www.virtualbox.org/) 来仿真出一部实体主机,以安装你的测试环境。并请注意, 这部主机将会使用在本书的各个章节测试中。

Virtualbox 的安装与设定请自行参考其官网上面的 Documentation 介绍,这里不再赘言。只是需要注意的是, 若 (1)需要架设网站来上网,建议网络使用桥接模式 (bridge) ,且网络卡类型使用 Intel 的桌面计算机类型即可。 (2)由于我们未来会教导 NAT 服务器,因此最好有两张网卡,一张使用 bridge 一张使用内网 (intnet) 较佳。 而 (3)磁盘配置建议使用 SATA 类型,且容量请给予 25GB 以上。 (4)内存至少该给予 512MB 以上,最好有 1GB 来测试。 其他的请参考官网文件,或者使用默认配置即可。当然啦,如果你有独立的实体机器来安装,那就更好了! 不需理会这一小段文字的说明喔。

默认配置如下:
分割表请依如下方式进行:
/  : 2GB
/boot: 200MB
/usr : 4GB
/var : 2GB
/tmp : 1GB
swap : 1GB
/home: 5GB,并且使用 LVM 模式建置
其他容量请保留,未来再来进行额外练习!
软件挑选时,请选择『 basic server 』项目即可;
信息安全部分,防火墙选择启动,SELinux 选择强制 (Enforce);
假设 IP 分享器有自动分配 IP 的功能,所以网络参数先选择 DHCP 即可,未来再自己修改。
实际流程大致如下 (鸟哥以 CentOS 6.0 为例说明)

1.由于我们使用光驱开机来安装系统,因此得先进入 BIOS ,选择光驱开机,并且将 CentOS 6.x 的 DVD 放入光驱中;
2.在启动安装的画面中,选择『Install or upgrade an existing system』来安装新系统;
出现『 Disc Found 』字样,此时建议可以选择『 Skip 』即可略过;
3.在欢迎画面以鼠标点选『 Next 』;
4.语系数据可以选择『Chinese(Traditional)(中文(正体))』;
5.键盘格式保留『美式英文』即可;
6.安装包含的装置类型,直接选择默认的『基本储存装置』即可;
7.因为我们是全新的硬盘,因此会出现一个找不到分割表的错误,此时选择『重新初始化』即可;
8.进入网络主机名的设定,先保留『localhost.localdomain』即可。 同画面中还有一个『配置网络』的选项,我们先不要动他!等未来谈到网络设定再来处理即可;
9.进入时区选择,请选择『亚洲/台北』即可;
10.出现 root 密码制作,这里我们先设定为『 centos 』吧! 这个密码太简单,系统会出现警告,你选择『照样使用』即可。你也可以自行设定其他密码;
10.出现哪一类型安装的模式,因为我们有自己的分割考虑,所以,请选择『建立自定义分割格式』来处理喔!
11.在出现分割画面中,先点选『sda』项目,然后点选『建立』的按钮,在出现的窗口中, 再点选『标准分割区』项目,然后点『建立』。 在最后的窗口中填写挂载点、容量等信息后,最终按下『确定』即可。最终画面有点像这样:

TU

依据前面的分割规划,持续进行上述的动作,将所有的分割都处理完毕,除了 /home 之外
由于 /home 想要使用 LVM 的方式来建立文件系统,因此点选『建立』后,选择『LVM 实体卷册』项目,按下建立,在出现的分割窗口中容量填写 5GB,示意图有点像这样:

TU

接下来回到原本的分割画面后,按下『建立』并选择『LVM 卷册群组』项目, 在出现的窗口中,卷册组名填写『server』,并且在右下方的逻辑卷册部分按下『新增』, 又会额外出现一个窗口,此时就填入 /home 的相关参数啦!注意,逻辑卷册我们这里设定为 myhome 喔! 画面有点像底下这样:

TU

回到原本的分割画面,最终的显示有点像底下这样,然后请按下『下一步』继续。 但由于新建分割需要格式化,所以又会出现一个警告窗口!没问题的,选择『格式化』以及『将变更写至磁盘』吧!

TU

16.出现启动加载程序作业,都使用默认值即可,请按『下一步』;
17.出现安装类型,因为我们主机的角色为服务器,因此选择『Basic Server』项目! 其他项目保留默认,然后按下『下一步』就开始进行安装程序啰!
17.经过一段时间的等待,出现重新启动后,你就重新启动吧!喔!要记得将 DVD 拿出来喔!(怪异的是,鸟哥第一次安装后, 竟然发现电源管理有问题,得在 kernel 处增加 noapic 才能顺利开机呢!)
18.装好并重新启动后,就会进入 runlevel 3 的纯文本界面!因为是服务器嘛!

服务器本身的基本操作系统操作

既然我们这部主机得要提供不同账号来使用他们自己的网络驱动器,因此还需要建立账号啊,使用磁盘配额 (quota) 等等的。 那么你会不会建立账号呢?你会不会建置共享目录呢?你能不能处理每个账号的 Quota 配额呢?如果 /home 的容量不足了, 你会不会放大 /home 的容量呢?有没有办法将系统的磁盘使用情况定期的发送邮件给管理员呢?这些都是基本的维护行为喔! 我们底下就以几个实际例子来练习看看你的基础能力吧!

例题-大量建置账号:
假设我的五个朋友账号分别是 vbirduser{1,2,3,4,5},且这五个朋友未来想要共享一个目录,因此应该要加入同一个群组,假设这个群组为 vbirdgroup,且这五个账号的密码均为 password 。那该如何建置这五个账号?
答:
你可以写一支脚本程序来进行上述的工作喔!

[root@localhost ~]# mkdir bin
[root@localhost ~]# cd /root/bin
[root@localhost bin]# vim useradd.sh
#!/bin/bash
groupadd vbirdgroup
for username in vbirduser1 vbirduser2 vbirduser3 vbirduser4 vbirduser5
do
	useradd -G vbirdgroup $username
	echo "password" | passwd --stdin $username
done
[root@localhost bin]# sh useradd.sh
[root@localhost bin]# id vbirduser1
uid=501(vbirduser1) gid=502(vbirduser1) groups=502(vbirduser1),501(vbirdgroup) 
context=root:system_r:unconfined_t:SystemLow-SystemHigh


最后利用 id 这个指令来查询看看,是否群组的支持是对的啊!

例题-共享目录的权限:

这五个朋友的共享目录建置于 /home/vbirdgroup 这个目录,这个目录只能给这五个人使用,且每个人均可于该目录内进行任何动作! 若有其他人则无法使用 (没有权限),那该如何建置这个目录的权限呢?
答:
考虑到共享目录,因此目录需要有 SGID 的权限才行!否则个别群组数据会让这五个人彼此间无法修改对方的数据的。因此需要这样做:

[root@localhost ~]# mkdir /home/vbirdgroup
[root@localhost ~]# chgrp vbirdgroup /home/vbirdgroup
[root@localhost ~]# chmod 2770 /home/vbirdgroup
[root@localhost ~]# ll -d /home/vbirdgroup
drwxrws---. 2 root vbirdgroup 4096 2011-07-14 14:49 /home/vbirdgroup/
# 上面特殊字体的部分就是你需要注意的部分啰!特别注意那个权限的 s 功能喔!


例题-Quota 实作:
假设这五个用户均需要进行磁盘配额限制,每个用户的配额为 2GB (hard) 以及 1.8GB (soft),该如何处理?
答:
这一题实作比较难,因为必须要包括文件系统的支持、quota 数据文件建置、quota 启动、建立用户 quota 信息等过程。 整个过程在基础篇有讲过了,这里很快速的带领大家进行一次吧!

# 1. 启动 filesystem 的 Quota 支持
[root@localhost ~]# vim /etc/fstab
UUID=01acf085-69e5-4474-bbc6-dc366646b5c8 /      ext4  defaults  1 1
UUID=eb5986d8-2179-4952-bffd-eba31fb063ed /boot  ext4  defaults  1 2
/dev/mapper/server-myhome /home       ext4  defaults,usrquota,grpquota  1 2
UUID=605e815f-2740-4c0e-9ad9-14e069417226 /tmp   ext4  defaults  1 2
....(底下省略)....
# 因为是要处理用户的磁盘,所以找到的是 /home 这个目录来处理的啊!
# 另外,CentOS 6.x 以后,默认使用 UUID 的磁盘代号而非使用文件名。
# 不过,你还是能使用类似 /dev/sda1 之类的档名啦!
[root@localhost ~]# umount /home; mount -a
[root@localhost ~]# mount | grep home
/dev/mapper/server-myhome on /home type ext4 (rw,usrquota,grpquota)
# 做完使用 mount 去检查一下 /home 所在的 filesystem 有没有上述的字眼!

# 2. 制作 Quota 数据文件,并启动 Quota 支持
[root@localhost ~]# quotacheck -avug
quotacheck: Scanning /dev/mapper/server-myhome [/home] done
....(底下省略)....
# 会出现一些错误的警告信息,但那是正常的!出现上述的字样就对了!
[root@localhost ~]# quotaon -avug
/dev/mapper/server-myhome [/home]: group quotas turned on
/dev/mapper/server-myhome [/home]: user quotas turned on

# 3. 制作 Quota 数据给用户
[root@localhost ~]# edquota -u vbirduser1
Disk quotas for user vbirduser1 (uid 500):
  Filesystem                 blocks   soft     hard    inodes  soft  hard
  /dev/mapper/server-myhome      20   1800000  2000000      5     0     0
# 因为 Quota 的单位是 KB ,所以这里要补上好多 0 啊!看的眼睛都花了!

[root@localhost ~]# edquota -p vbirduser1 vbirduser2
# 持续作几次,将 vbirduser{3,4,5} 通通补上去!

[root@localhost ~]# repquota -au
*** Report for user quotas on device /dev/mapper/server-myhome
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root       --      24       0       0              3     0     0
vbirduser1 --      20 1800000 2000000              5     0     0
vbirduser2 --      20 1800000 2000000              5     0     0
vbirduser3 --      20 1800000 2000000              5     0     0
vbirduser4 --      20 1800000 2000000              5     0     0
vbirduser5 --      20 1800000 2000000              5     0     0
# 看到没?上述的结果就是有发现到设定的 Quota 值啰!整个流程就是这样!


例题-文件系统的放大 (LVM):
纯粹假设的,我们的 /home 不够用了,你想要将 /home 放大到 7GB 可不可行啊?
答:
因为当初就担心这个问题,所以 /home 已经是 LVM 的方式来管理了。此时我们要来瞧瞧 VG 够不够用,如果够用的话, 那就可以继续进行。如果不够用呢?我们就得要从 PV 着手啰!整个流程可以是这样来观察的。

# 1. 先看看 VG 的量够不够用:
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               server
  System ID
  Format                lvm2
....(中间省略)....
  VG Size               4.88 GiB  <==只有区区 5G左右
  PE Size               4.00 MiB
  Total PE              1249
  Alloc PE / Size       1249 / 4.88 GiB
  Free  PE / Size       0 / 0     <==完全没有剩余的容量了!
  VG UUID               SvAEou-2quf-Z1Tr-Wsdz-2UY8-Cmfm-Ni0Oaf
# 真惨!已经没有多余的 VG 容量可以使用了!因此,我们得要增加 PV 才行。

# 2. 开始制作出所需要的 partition 吧!作为 PV 用的!
[root@localhost ~]# fdisk /dev/sda  <==详细流程我不写了!自己瞧

Command (m for help): p
   Device Boot      Start    End      Blocks   Id  System
....(中间省略)....
/dev/sda8            1812   1939     1024000   83  Linux <==最后一个磁柱

Command (m for help): n
First cylinder (1173-3264, default 1173): 1940  <==上面查到的号码加 1
Last cylinder, +cylinders or +size{K,M,G} (1940-3264, default 3264): +2G

Command (m for help): t
Partition number (1-9): 9
Hex code (type L to list codes): 8e

Command (m for help): p
   Device Boot  Start    End   Blocks  Id  System
/dev/sda9        1940   2201  2104515  8e  Linux LVM <==得到 /dev/sda9

Command (m for help): w

[root@localhost ~]# partprobe <==在虚拟机上面得要 reboot 才行!

# 3. 将 /dev/sda9 加入 PV,并将该 PV 加入 server 这个 VG 吧
[root@localhost ~]# pvcreate /dev/sda9
[root@localhost ~]# vgextend server /dev/sda9
[root@localhost ~]# vgdisplay
....(前面省略)....
  VG Size               6.88 GiB       <==这个 VG 最大就是 6.88G 啦
....(中间省略)....
  Free  PE / Size       513 / 2.00 GiB <==有多出 2GB 的容量可用了!

# 4. 准备加大 /home,开始前,还是先观察一下才增加 LV 容量较好!
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/server/myhome <==这是 LV 的名字!
  VG Name                server
....(中间省略)....
  LV Size                4.88 GiB  <==只有 5GB 左右,需要增加 2GB 啰
....(底下省略)....
# 看起来,是需要增加容量啰!我们使用 lvresize 来扩大容量吧!

[root@localhost ~]# lvresize -L 6.88G /dev/server/myhome
  Rounding up size to full physical extent 6.88 GiB
  Extending logical volume myhome to 6.88 GiB  <==处理完毕啰!
  Logical volume myhome successfully resized
# 看来确实是扩大到 6.88GB 啰!开始处理文件系统吧!

# 5. 扩大文件系统
[root@localhost ~]# resize2fs /dev/server/myhome
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/server/myhome is mounted on /home; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/server/myhome to 1804288 (4k) blocks.
The filesystem on /dev/server/myhome is now 1804288 blocks long.

[root@localhost ~]# df -h
文件系统              Size  Used Avail Use% 挂载点
/dev/mapper/server-myhome
                      6.8G  140M  6.4G   3% /home
....(其他省略)....
# 可以看到文件系统确实有放大到 6.8G 喔!这样了解了吗?


做完上面的实作之后,现在你晓得为什么在基础篇的时候,我们一直强调一些有的没有的了吧?因为那些东西在这里都用的上! 如果本章这些题目你都不会,甚至连为什么要作这些东西都不懂的话,那得赶紧回去阅读基础篇,不要再念下去了! 会非常非常辛苦的呦!





转自:http://vbird.dic.ksu.edu.tw/linux_server/0105beforeserver_2.php
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    使用SSM框架开发企业级应用第一章全部

    总结来说,"使用SSM框架开发企业级应用第一章"涵盖了Spring、SpringMVC和MyBatis的基础知识,包括框架的配置、数据库操作、业务逻辑处理、视图渲染和事务管理等内容。学习并掌握这些技能,对于成为一名合格的后端...

    s2JavaScript第一章课后和理论课作业

    "s2JavaScript第一章课后和理论课作业"表明这是一个关于学习JavaScript基础知识的课程单元,可能涵盖了变量、数据类型、控制结构、函数等核心概念。在这个作业中,学生可能需要通过实践来深化对这些概念的理解。 在...

    ASP.NET技术开发网上书店 第一章上机作业

    在"ASP.NET技术开发网上书店 第一章上机作业"中,我们可以推测这是一份教学材料或课程实践,旨在帮助学习者掌握ASP.NET的基础知识,并应用到实际的网上书店项目中。 第一章通常会介绍基础概念和环境搭建,让我们...

    asp.net课本第一章

    总之,ASP.NET课本第一章是初学者探索Web开发领域的理想起点,它将引导你进入ASP.NET的世界,帮助你理解Web Forms的开发流程,以及如何使用ASP.NET创建动态的Web应用程序。通过实践课本中的示例,你将能够快速上手并...

    第三章 服务器控件ppt

    比如,`&lt;asp:Button&gt;`、`&lt;asp:Label&gt;`、`&lt;asp:GridView&gt;`等,它们不仅可以处理服务器端事件,还支持数据绑定、模板、验证等特性,极大地简化了开发流程。 **自定义控件**则是为了满足特定需求而创建的,开发者可以...

    轻量级Java EE企业应用实战第三版第一章源码

    在本资源中,我们关注的是"轻量级Java EE企业应用实战第三版第一章源码"。这通常是指一本关于使用轻量级Java EE框架构建企业级应用的书籍的配套代码,第一章的源码部分。轻量级Java EE指的是不依赖大型、重型容器如...

    asp.net PPT 第一章

    总的来说,ASP.NET PPT的第一章主要介绍了网络程序设计的基础,特别是动态网页的概念和工作原理,以及ASP.NET作为开发工具的特性。通过这一章的学习,初学者将对ASP.NET有一个初步的认识,并具备开始动手实践的基础...

    y2北大青鸟第七章Ajax框架

    在本资源"y2北大青鸟第七章Ajax框架"中,全面且详细地介绍了Ajax的核心概念、工作原理以及如何在实际项目中应用。 Ajax(Asynchronous JavaScript and XML)虽然名字中有XML,但现在已经不仅限于使用XML,而是广泛...

    Flex学习第一章

    标题“Flex学习第一章”指的是对Adobe Flex开发框架的初步学习。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程语言和MXML标记语言,主要用于创建交互式、高性能的用户界面。在本...

    C++ GUI Programming with Qt 4 中文版(第一章至第十章).doc

    第一章:Qt入门 在这一章中,读者将了解Qt的基本概念,包括Qt的历史、特点和适用范围。学习安装Qt开发环境,如Qt Creator,并创建第一个"Hello, World!"程序,理解Qt项目文件(.pro)的结构和作用。 第二章:Qt对象...

    Java EE第一章的源代码

    在Java EE的第一章,通常会介绍基础概念和技术架构,为后续章节的学习打下坚实的基础。这可能包括以下几个主要知识点: 1. **Java EE概述**:讲解Java EE的发展历程、目标以及它在企业级应用中的重要地位。强调其与...

    精通PHP应用开发第一章代码

    在“精通PHP应用开发第一章代码”这个资源中,我们聚焦于PHP这门强大的服务器端脚本语言,用于构建动态网站和应用程序。PHP(Hypertext Preprocessor)是一种广泛使用的开源编程语言,尤其在Web开发领域占据重要地位...

    北大青鸟ACCP5.0 ASP.NET第一章课件

    在"北大青鸟ACCP5.0 ASP.NET第一章课件"中,我们主要探讨了以下几个知识点: 1. **B/S架构与C/S架构的比较**: B/S(Browser/Server,浏览器/服务器)架构的优势在于它降低了客户端的要求,只需要一个标准的浏览器...

    C++ GUI Programming with Qt 4 中文版(第一章至第十章)目录版

    - 第一个 Qt 程序:Hello Qt 3. **第 3 章:信号与槽机制** - 信号与槽机制的概念 - 连接信号与槽的方法 - 信号与槽的实际应用示例 4. **第 4 章:窗口与控件** - 常用窗口部件的介绍 - 控件的布局管理 - ...

    服务器项目运营方案.docx

    **第一章 绪论**: - 项目名称和单位:明确了项目的具体名称和负责单位,即xx投资管理公司。 - 项目地点:指出了项目将在何处建设。 - 可行性研究范围:定义了项目的研究边界和评估内容。 - 编制依据和技术原则:列...

    完整版Java web开发教程PPT课件 Java开发进阶教程 第04章 自定义web服务器(共14页).pptx

    Java Web开发是一个涵盖广泛的主题,包括前端交互、服务器端处理、数据传输以及框架的应用等多个方面。在本套Java Web开发教程中,我们将深入探讨多个关键知识点,帮助开发者从基础到进阶逐步掌握这一技术。 首先,...

    第一章 背景知识简介

    3. **Web应用程序开发流程**:在B/S架构下,开发流程简化为服务器端代码开发和部署,用户通过浏览器直接访问,降低了客户端的部署成本。 【Ajax背景知识简介】 Ajax(Asynchronous JavaScript and XML)是一种创建...

    计算概论(清华大学版)第一章理论部分

    《计算概论(清华大学版)》第一章主要涵盖了计算机科学的基础理论和C语言的入门知识,旨在为初学者提供一个全面的计算机技术理解框架。以下是各讲的主要知识点: 1. **第1讲 概述:认识计算机** - 计算机的定义与...

    php开发全程实录第一章

    - **公司简介**:本书第一章首先介绍了“×××信息科技有限公司”,这是一家以整合渠道资源为主的高科技公司,为了扩大规模和增强竞争力,决定向多元化方向发展,并借助互联网在国内的快速发展来建设一个综合信息...

Global site tag (gtag.js) - Google Analytics