English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Fragestellung
Die Entwicklungstestserver des Unternehmens sind in der阿里云 deployed, und die von 阿里云 bereitgestellten Instanzen sind in der Regel nur eine Partition 20G bis40G aussehen, und dann Speicher, der an andere Verzeichnisse angehängt wird.
und das home-Verzeichnis ist in diesem 20G des Wurzelverzeichnisses der Partition. Mit zunehmender Anzahl der Entwickler wird die Wurzelpartition schnell von allen gefüllt.
Da es sich um eine mehrortsige Forschung und Entwicklung handelt, ist ein unauffälliger Umzugsplan für alle erforderlich.
Grundprinzip
Nachdem ich diese Aufgabe erhalten habe, dachte ich zuerst an die bind mount-Methode:
mount --bind /some/where /else/where
Kann einen umgangssprachlichen Umzug von home realisieren.
Der Eindruck ist, dass die Suche in Chinesisch nicht diese Anweisung sehr klar erklärt.Diese Frage und Antwort Es wird recht klar gesagt, gute Englischkenntnisse sind empfehlenswert.
Natürlich kann man auch "Mann" fragen: man mount
Spezifische Operation
Wählen Sie eine ruhige Nacht, um den who-Befehl zu verwenden, um zu überprüfen, welche Kinder noch auf dem Server bleiben und sie abzuholen, um die Halle zu räumen:
$ who Frodo pts/0 2017-04-17 09:07 (xx.xxx.xxx.xx) Sam pts/1 2017-04-18 08:45 (xx.xxx.xxx.xx) Pippin pts/3 2017-04-18 09:06 (xx.xxx.xxx.xx) Merry pts/4 2017-04-18 09:07 (xx.xxx.xxx.xx)
Nachdem Sie sicher sind, dass niemand in der Nähe ist, beginnen Sie mit dem Umzug (Kopieren). Beim Kopieren mit dem cp-Befehl denken Sie daran, -mit dem p-Parameter die Dateiberechtigungen beibehalten. Verwenden Sie Root-Rechte,angenommen, dass der Zielpartition /new_disk :
# cp -p -r /home /new_disk/
Das neue Zuhause ist bereits fertiggestellt, also geben wir dem alten Zuhause eine andere Hausnummer, um zu vermeiden, dass man nach der Zuweisung der Hausnummer an das neue Zuhause das alte Zuhause nicht mehr findet. Verwenden Sie mount --bind den ursprünglichen home-Verzeichnis auf ein neues Verzeichnis mounten:
# mkdir /home_bkp # mount --bind /home /home_bkp
Zu diesem Zeitpunkt können wir in /Unter home_bkp finden Sie alle Dateien des alten Hauses. Man kann /home Diese Hausnummer ist dem neuen Haus zugewiesen:
# mount --bind /new_disk/home /home
Die Umzug ist abgeschlossen! Sie können den kleinen Leuten mit Freude die Arbeit mitteilen. Tatsächlich kann man die Leute nicht informieren, der Umzug ist für alle tatsächlich unauffällig.
Natürlich wird es einige Freunde geben, die fragen, dass die Hausnummer des neuen und alten Hauses gleich ist, beide sind /home,我怎么知道搬家是否成功? 可以使用df命令确认:
# cd /home_bkp # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 17G 2.1G 90% / # cd /home # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvdb1 296G 42G 240G 15% /new_disk
-h 为 human-readable,不加的话也可以,那列出的就是"反人类"的块为单位了。
上面的命令,先去老家看看,挂载点是 / ; 再去新家看看,挂载点是 /new_disk。这下可以放心了。
持久化
工作还没完。上面的工作只是保证了当前新家换地址。但重启后,这个信息会丢失,家地址会换回去。我们需要想办法保留这个信息。
修改 /etc/在fstab文件中即可。打开这个文件,在最后面加入下面两行:
/home /home_bkp none bind 0 0 /new_disk/home /home none bind 0 0
这样整个home切换分区工作就完成了。
后记
这个方案是心血来潮想出来的,并没有找到前车之鉴,不知道会不会有坑... 目前该方案下服务器已运行近一年,还没出现什么问题,大家工作得都很愉快,甚至很多人都不知道有这件事情。
老家的目录 /home_bkp在该方案实施1个月后,看没什么问题,就清空了,腾空间出来。
声明:本文内容来源于网络,版权归原作者所有。内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#oldtoolbag.com(在发送邮件时,请将#替换为@进行举报,并提供相关证据。一经查实,本站将立即删除涉嫌侵权内容。)