通过 EFS 在 WordPress 上卸载/重新挂载

昨天我玩了很多,突然感到一种焦虑:“这真的能炫耀吗?”为了验证,我进行了实验。

制作堆栈

通过CloudFormation在EC2上挂载ElasticFileSystem(EFS) – Qiita
AMIMOTO AMI + EFS + ELB + VPC及相关事项将被启动。

尝试放下面具

如果突然将其移出,会产生错误。

$ sudo umount /var/www/vhosts/
umount.nfs4: /var/www/vhosts: device is busy

让我们停止Monit和Nginx。

[ec2-user@ip-10-0-0-201 ~]$ sudo service monit stop
Shutting down monit:                                       [  OK  ]
[ec2-user@ip-10-0-0-201 ~]$ sudo service nginx stop
Stopping nginx:                                            [  OK  ]

重试

[ec2-user@ip-10-0-0-201 ~]$ sudo umount /var/www/vhosts/

如果成功的话,不会有任何消息特别显示。

运行df -h命令可以看到挂载已经被卸载。

[ec2-user@ip-10-0-0-201 ~]$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/xvda1       9.8G  4.2G  5.6G   43% /
devtmpfs         1.9G   64K  1.9G    1% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
/dev/xvdb         15G   39M   15G    1% /media/ephemeral0

挂载点(/var/www/vhosts/)中,WordPress的安装已经消失得很干净了。

[ec2-user@ip-10-0-0-201 ~]$ ll /var/www/vhosts/i-4fe8feda/
合計 4
-rw-r--r-- 1 root root 175  6月 29 18:33 index.html

重新攀爬

“『fs-XXXX』是EFS的文件系统ID。”

[ec2-user@ip-10-0-0-201 ~]$ sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-XXXX.efs.us-east-1.amazonaws.com:/ /var/www/vhosts

确认是否已被人攀登。

[root@ip-10-0-0-201 log]# df -h
Filesystem                                            Size  Used Avail Use% Mounted on
/dev/xvda1                                            9.8G  4.2G  5.6G  43% /
devtmpfs                                              1.9G   68K  1.9G   1% /dev
tmpfs                                                 1.9G     0  1.9G   0% /dev/shm
/dev/xvdb                                              15G   39M   15G   1% /media/ephemeral0
us-west-2b.fs-xxxxxx.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /var/www/vhosts
[root@ip-10-0-0-201 log]# 

文件也已恢复。

[ec2-user@ip-10-0-0-201 ~]$ ll /var/www/vhosts/i-4fe8feda/
合計 192
-rw-r--r--  1 nginx nginx   418  6月 29 18:38 index.php
-rw-r--r--  1 nginx nginx 19935  6月 29 18:38 license.txt
-rw-r--r--  1 nginx nginx  1176  6月 29 18:37 local-config.php
-rw-r--r--  1 nginx nginx   774  6月 29 18:38 local-salt.php
-rw-r--r--  1 nginx nginx  7360  6月 29 18:39 readme.html
-rw-r--r--  1 nginx nginx  5032  6月 29 18:38 wp-activate.php
drwxr-xr-x  9 nginx nginx  4096  6月 29 18:37 wp-admin
-rw-r--r--  1 nginx nginx   364  6月 29 18:39 wp-blog-header.php
-rw-r--r--  1 nginx nginx  1476  6月 29 18:38 wp-comments-post.php
-rw-r--r--  1 nginx nginx  2853  6月 29 18:39 wp-config-sample.php
-rw-r--r--  1 nginx nginx  2751  6月 29 18:36 wp-config.php
drwxr-xr-x  7 nginx nginx  4096  6月 29 19:23 wp-content
-rw-r--r--  1 nginx nginx  3286  6月 29 18:38 wp-cron.php
drwxr-xr-x 16 nginx nginx  4096  6月 29 18:36 wp-includes
-rw-r--r--  1 nginx nginx  2380  6月 29 18:38 wp-links-opml.php
-rw-r--r--  1 nginx nginx  3316  6月 29 18:38 wp-load.php
-rw-r--r--  1 nginx nginx 33837  6月 29 18:38 wp-login.php
-rw-r--r--  1 nginx nginx  7887  6月 29 18:39 wp-mail.php
-rw-r--r--  1 nginx nginx 13106  6月 29 18:38 wp-settings.php
-rw-r--r--  1 nginx nginx 28624  6月 29 18:38 wp-signup.php
-rw-r--r--  1 nginx nginx  4035  6月 29 18:38 wp-trackback.php
-rw-r--r--  1 nginx nginx  3061  6月 29 18:38 xmlrpc.php

由于Nginx和monit停止了,目前网站仍未恢复显示。
我们需要确保它们正确启动。

[root@ip-10-0-0-201 log]# service nginx start
Starting nginx:                                            [  OK  ]
[root@ip-10-0-0-201 log]# service monit start
Starting monit: Monit start delay set -- pause for 5s
                                                           [  OK  ]

因为所使用的组合只有一个EC2服务器,所以可能没有使用EFS的特别优势。但是,仅仅确认可以在实际中使用EFS进行挂载和卸载就已经是一种进展了。

广告
将在 10 秒后关闭
bannerAds