分享
 
 
 

系统工作时调整分区:整理数据

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

在这篇关于在正在运行的系统上更改分区的技巧(第二篇)中,Daniel Robbins 说明了如何将 /tmp 和 /var 移动到它们自己的共享分区上。同时,他还介绍了几个诀窍,从而使您可将停机时间缩到最短,并可避免犯严重错误。

在我的上一篇技巧中,我们已成功地将 /home 移动到一个新分区上。现在是学习如何将经常修改的文件整理到一个新分区上的时候了。为什么要这样做呢?下面是一个例子。经常修改的文件会产生大量的碎片。包含碎片的最佳方式之一就是将经常修改的文件存储在它们自己的分区上。这样,其他分区就不会受经常修改的文件所产生的碎片的影响。这在概念上不难理解,但实际上该如何操作呢?

整理数据

首先,必须创建一个新分区专门用于存储频繁修改的文件。您可能希望将这个分区置于单独的磁盘上以增强性能。接下来,我将逐步说明将 /tmp 和 /var 移动到这个新分区上的各个步骤。

警告

下面的技术说明如何移动一个或多个分区。尽管这项技术经过专门设计,使您能够“撤销”失败的分区移动,但它并不防止用户的错误。换言之,只要进行格式化分区或复制大量文件的操作,就存在因输入错误而导致大量数据被破坏的可能性。因此,强烈建议您 在行动之前采取适当的措施来备份所有的重要文件。

1. 在新分区上创建文件系统

这个过程的第一步是创建一个足以容纳 /var 和 /tmp 并有一点额外空间的新分区。您需要另有一个硬盘驱动器或者一个备用的(未使用的)分区来存储经常修改的文件。如果确实需要使用 fdisk 或 cfdisk 来创建分区,则必须重新启动一次系统。现在就可以格式化新分区了,如下所示(完全可以在多用户模式下完成这一工作;我将提示您何时切换到单用户模式):

# mkfs.ext2 /dev/???

2. 将新分区挂载到 /mnt/rwstorage

正如在我的前一篇技巧中那样,应该用刚创建的空分区的设备名替换 ???。意外键入错误的名称将破坏现有分区上的数据,所以一定要小心!键入这个命令以后,您就在新分区上创建了一个新的 ext2 文件系统。现在几乎就可以挂载这个分区了,但我们首先要创建一个挂载点。

# mkdir /mnt/rwstorage

我选择名称 "rwstorage" 是为了提醒我们,这个特殊的分区将专用于存储频繁读写的文件系统。要挂载分区,请键入:

# mount /dev/??? /mnt/rwstorage

3. 创建新的 /tmp

分区已经挂载好,现在就可以创建新的 /tmp 目录了:

# cd /mnt/rwstorage

# mkdir tmp

# chmod 1777 tmp

4. 进入单用户模式

我们的新目录 /mnt/rwstorage/tmp 具有临时目录应该具有的权限。现在,请进入单用户模式,因为我们必须复制整个 /var。像往常一样,我们将进入单用户模式推迟到最后一刻进行。从现在起我们不希望任何程序读写 /var 中的文件,所以必须停止所有守护程序,断开所有用户,执行一些快速的维护,为此请键入以下命令:

# init 1

如果提示您输入口令来进行系统维护,请按指示操作。您现在应该在 root shell 中,所有不必要的守护进程已被停止。键入以下命令为 /var 中的文件创建一个新位置:

# cd /mnt/rwstorage

# mkdir var

5. 复制 /var

在我们的新 /mnt/newstorage/var 目录上的默认权限应该是正确的,现在就可以将原来的全部 /var 数据复制到新分区上了:

# cd /var

# cp -ax * /mnt/rwstorage/var

6. 执行备份并创建符号链接

这个命令完成以后,/mnt/rwstorage/var 就成为 /var 的一个完全相同的副本。现在您可能会问,如何让 linux 正确使用 /mnt/rwstorage/var 和 /mnt/rwstorage/tmp 而不是根目录下的默认位置呢?使用符号链接很容易实现这一点 -- 我们将创建新的符号链接 /tmp 和 /var,它们指向 /mnt/rwstorage 中的正确目录。我们首先备份原来的目录:

# cd /

# cp var var.old

# cp tmp tmp.old

最后一行可能没有必要,因为通常您不会将任何重要的文件放在 /tmp 中,但我们这样做更安全一些。现在开始创建符号链接:

# cd /

# ln -s /mnt/rwstorage/var /var

# ln -s /mnt/rwstorage/tmp /tmp

7. 最后修改 /etc/fstab

现在,当任何用户或程序使用 /var 时,他们将被自动转移到 /mnt/rwstorage/var!对于 /tmp 也一样。我们还有一个步骤要做;但是这一步可以安全地在多用户模式下执行。现在可以让 apache 恢复运行了,也可以让您的所有用户重新登录了。请按 CTRL-D 退出 runlevel 1。系统应该正常启动。请以 root 身份登录。

我们必须完成的最后一个步骤是配置 /etc/fstab 文件,以便将 /dev/??? 挂载到 /mnt/rwstorage。必须在 /etc/fstab 中添加这样一行:

/dev/??? /mnt/rwstorage ext2 defaults 1 2

重要说明:如果您使用的内核版本属于 2.3+,则在您的 /etc/fstab 文件中很可能有这样一行:

none /var/shm shm defaults 0 0

该行在系统中启用共享内存,默认情况下它挂载在 /var 中。为了使该行正常工作,它必须出现在您刚添加的那一行的下一行。这样,当 linux 启动时,/mnt/rwstorage 将首先被挂载(启用 /var)。然后,并且仅当在此以后,shm 设备将被挂载在 /var/shm,而后者实际上是 /mnt/rwstorage/var/shm。确保这两行的次序为:

/dev/??? /mnt/rwstorage ext2 defaults 1 2

none /var/shm shm defaults 0 0

在保存了对 /etc/fstab 的更改以后,您的系统已经成功升级了!在证实一切工作正常以后,您可删除所备份的 /tmp.old 和 /var.old 目录。恭喜您 -- 为了获得最佳性能,您已经成功地对您的系统分区进行了重新配置。

参考资源

* 在 Maximum swappage 中,我说明了如何大幅提高 linux 下的交换 (swap) 性能

* 在 Partition planning tips 中,我说明了可用来有效地组织分区布局的几种方法

* 在 Partitioning in action: Moving /home 中,我逐步说明了如何将 /home 移动到一个新分区上

* 我一向建议读者查阅 The linux Documentation Project 上的 howtos -- 这些都是有价值的参考资源

作者简介

Daniel Robbins 住在新墨西哥州 Albuquerque 市,他是 Gentoo Project 的首席体系结构设计师,Gentoo Technologies 公司的首席执行官,linux Advanced Multimedia Project (LAMP) 的顾问,他还是 Macmillan 公司出版的《Caldera OpenLinux Unleashed》、《SuSE Linux Unleased》和《Samba Unleashed》几本书的重要作者之一。由于深受 Pac Man 的影响,Daniel 在读二年级时第一次接触到 Logo 语言后即执迷于计算机。这可能是他后来作为 SONY Electronic Publishing/Psygnosis 的首席图形艺术家的原因。Daniel 喜欢与他的妻子 Mary 共度美好时光,Mary 今年春天已经怀孕。(www-900.ibm)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有