我有一个服务器托pipe大约80个小轨应用程序。 我们最近升级了磁盘空间,所以现在我们必须将所有的站点移动到这个新的磁盘上。 主机是VMware ESX服务器,所以所有的磁盘都是虚拟的。
我们有一个虚拟主机和每个文件的Apacheconfiguration文件。 在这个文件中,我们定义了一个开发,testing,验收和生产环境,每个环境都在自己的领域。 生产环境可以有多个域。 这些网站目前位于'/'分区的目录(我知道这个主意不好),需要移到新分区。 网站运行一个Sqlite数据库,所以也必须复制。
我们希望将这些网站移到不同的磁盘上。 最简单的事情是closuresApache,复制文件,并在旧位置重新安装磁盘。 这将导致显着的停机时间,因为它需要复制大约100GB的数据。
有没有办法将新磁盘与旧文件同步,然后立即交换它们? 或者,也许自动移动网站一个接一个,最大限度地减less每个停机时间? 我最大的担心就是如果在操作过程中写入的话,就会损坏Sqlite数据库。
两种解决scheme
如果您的文件系统允许,您可以创build快照并将其解压到新磁盘上。 XFS允许这个(也许JFS,我不知道)。 如果需要,可以将分区扩大到新磁盘的大小。
你可以先用正常的cp命令把你的磁盘拷贝到磁盘上,然后把旧的磁盘拷贝到磁盘上。 当你准备好切换你关机的Apache。 旧的磁盘到新的磁盘,如:
rsync -Cavz --delete <OLDDISKPATH> <NEWDISKPATH> umount <OLDDISKPATH> mount --move <NEWDISKPATH> <OLDDISKPATH>
并开始Apache,你完成最less的停机时间。