
私は愚かにも、14.04LTS から 14.10、そして 15.04 にアップデートすることにしました。
それを実行してから、Web サイトがダウンし、ファイル システムが読み取り専用になりました。更新は正常に完了したため、何が問題なのかわかりません。
これまでに私が見つけたものは次のとおりです:
root@lew:/# service apache2 status
apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Active: failed (Result: exit-code) since Sun 2015-07-12 08:36:18 EDT; 31min ago
Docs: man:systemd-sysv-generator(8)
Process: 901 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
Jul 12 08:36:18 lew.im systemd[1]: Starting LSB: Apache2 web server...
Jul 12 08:36:18 lew.im apache2[901]: * Starting web server apache2
Jul 12 08:36:18 lew.im apache2[901]: mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Read-only file system
Jul 12 08:36:18 lew.im apache2[901]: /etc/init.d/apache2: 91: /etc/init.d/apache2: cannot create : Directory nonexistent
Jul 12 08:36:18 lew.im apache2[901]: *
Jul 12 08:36:18 lew.im apache2[901]: * The apache2 configtest failed.
Jul 12 08:36:18 lew.im systemd[1]: apache2.service: control process exited, code=exited status=1
Jul 12 08:36:18 lew.im systemd[1]: Failed to start LSB: Apache2 web server.
Jul 12 08:36:18 lew.im systemd[1]: Unit apache2.service entered failed state.
Jul 12 08:36:18 lew.im systemd[1]: apache2.service failed.
次にfdisk -l:
root@lew:/# fdisk -l
Disk /dev/vda: 20 GiB, 21476933632 bytes, 41947136 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 06F7B3C9-8E13-42CD-AD52-7A02301B6F16
Device Start End Sectors Size Type
/dev/vda1 2048 41945087 41943040 20G Linux filesystem
そしてfsck /
root@lew:/# sudo fsck /
fsck from util-linux 2.25.2
fsck.ext4: Unable to resolve 'UUID=815063a9-c956-44a6-ab11-05e1d0bb3a58'
私はこの分野の初心者ですが、私が読んだところによると、fstab で何かを修正する必要があるようです。なぜ更新によってこれが壊れたのでしょうか。何が間違っていたのでしょうか。
このサーバーは DigitalOcean でホストされているため、SSH で接続します。
編集:
ブルキッド
root@lew:~# blkid
/dev/vda1: LABEL="DOROOT" UUID="18254707-08e8-494e-b456-938592928a5e" TYPE="ext4" PTTYPE="dos" PARTLABEL="primary" PARTUUID="8c484e81-f919-4803-acc7-1447fdd81b45"
マウント
root@lew:~# mount
/dev/vda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,nodev,noexec,nosuid)
sysfs on /sys type sysfs (rw,nodev,noexec,nosuid)
none on /sys/fs/cgroup type tmpfs (rw,uid=0,gid=0,mode=0755,size=1024)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,nodev,noexec,nosuid,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,nodev,noexec,nosuid,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,noexec,nodev,none,name=systemd)
フスタブ
root@lew:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/vda1 during installation
#UUID=815063a9-c956-44a6-ab11-05e1d0bb3a58 / ext4 errors=remount-ro 0 1
UUID=06F7B3C9-8E13-42CD-AD52-7A02301B6F16 / ext4 errors=remount-rw 0 1
/swapfile none swap sw 0 0
答え1
解決策はコメント欄に投稿されました@Lewis Lebentz 7月26日 15:00。
答えを探している人が簡単に見つけられるように、言い換えます。ただし、@Lewis 自身が回答を投稿し、回答済みとしてマークすれば、正当な評価が与えられます。
ソリューション: サポート チケットを開き、Digital Ocean にリカバリ ISO をマウントするように依頼します (Digital Ocean だけがマウントできる特別な ISO です)。
- ファイルシステムをマウントして編集するには、1 を選択します
/etc/fstab
。 注記:コンソールを使用して、nano
またはを実行しますvi /mnt/etc/fstab
。または、SSHとネットワーク(リカバリオプション)を有効にして、ターミナルでログインすることもできます(命令) ですが、私は自分で試したことはありません。 - そこにある UUID を blkid の出力に変更して保存します。
- DO にリカバリ ディスクを取り外すように依頼してください。再起動すると、再びアクセスできるようになります。
答え2
ændrük がコメントに投稿したように実行できます:
$ mount -rw -o remount /dev/vda1 /
$ sed s/wrong_uuid/correct_uuid/ -i /etc/fstab
..そして Linux をもう一度起動します。vda1 をデバイス名に変更してください。もちろん、sed コマンドでは正しい uuid を使用してください。
答え3
私も同じ問題に遭遇しました。/etc/fstabのディスクUUIDが解決できませんでした。まず次のコマンドを実行してディスクのUUIDを見つけることでこの問題を解決しました。
sudo blkid -c /dev/null -o list
マウントポイントのディスクUUIDをコピーする/
その後、@ændrükのコメントに従ってディスクを再マウントしました。
mount -rw -o remount UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
次に、/etc/fstab を編集して、ルート ディスクのディスク UUID を変更しました。