カテゴリー: Linux

CentOS7でyumでインストールしたPHP7.0をPHP7.1にアップデートする

CentOS7でyumでインストールしたPHP7.0をPHP7.1にアップデートする

作業メモ

■OSの確認

# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

■現在のPHPの確認

# php -v
PHP 7.0.13 (cli) (built: Nov  8 2016 20:16:29) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

■「remi-php71.repo」があるか確認する

# cat /etc/yum.repos.d/remi-php71.repo 
# This repository only provides PHP 7.1 and its extensions
# NOTICE: common dependencies are in "remi-safe"

[remi-php71]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php71/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/php71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-debuginfo]
name=Remi's PHP 7.1 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-test]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test71/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/test71/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php71-test-debuginfo]
name=Remi's PHP 7.1 test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test71/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

■php71が表示されるのを確認する

# yum search php
・・・
php71.x86_64 : Package that installs PHP 7.1
php71-php.x86_64 : PHP scripting language for creating dynamic web sites
・・・

■udpateする

# yum update php --enablerepo=remi-php71

■バージョンの確認

# php -v
PHP 7.1.7 (cli) (built: Jul  6 2017 13:31:15) ( NTS )
Copyright (c) 1997-2017 The PHP Group

※apacheの再起動なども忘れずに。

Vagrantで別セグメントからアクセスする必要があるときの対処

Vagrantで別セグメントからアクセスする必要があるときの対処

ネットワークを変更してVLANとか切ったら別セグメントから
Vagrantで設置したwebサーバにアクセスできなかったのでメモ。

※結局VirtualBoxのゲストOSのネットワーク設定話です。

ホスト:192.168.1.10
ゲスト:192.168.1.110
アクセスするPC:192.168.6.10

元々以下のようのな設定になっていた

config.vm.network "public_network", ip: "192.168.1.110", bridge: "Intel(R) Ethernet Connection (2) I219-V"

これだとアクセスするPCからゲストにアクセスできなかった。
以下のようにnetmaskを広げて対応した。

config.vm.network "public_network", ip: "192.168.1.110", netmask: "255.255.0.0", bridge: "Intel(R) Ethernet Connection (2) I219-V"

CentOS7、PHP7の環境にNextcloudをインストール

CentOS7、PHP7の環境にNextcloudをインストール

ファイル共有がしたくなったのでOSSを探した。

ownCloudがphpの関係で上手くインストールできなかったので
新しいっぽいnextcloudをインストールすることにする。

CentOS7、PHP7、Mariadbは設定済み

https://nextcloud.com/install/
↑のページの「Get Nextcloud Server」の「Download」をクリックして表示されたダイアログ内の「Download Nextcloud」の
URLをコピーしてwgetする。

# wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
# unzip nextcloud-12.0.0.zip 
# mv nextcloud /var/www/
# chown -R apache:apache /var/www/nextcloud

足りなかったので追加

# yum install --enablerepo=remi,remi-php70 php-pecl-zip

webサーバの設定追加

# pwd
/etc/httpd/conf.d
# cat nextcloud.conf 
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

webサーバ再起動

# systemctl restart httpd

http://ドメイン/nextcloud

にアクセス。

画面の誘導に沿って設定すればOK。
※MariaDBを使うようにした。

■参考URL

Azure上のCentOSにNextcloudを構築!!
さらばDropbox! 企業やチームのストレージにNextcloudが注目される理由

ClamAVからVirus Foundのメールが来た

ClamAVからVirus Foundのメールが来た。

「発見」⇒「即削除」から「発見」⇒「通知」⇒「手動削除」のフローに変えてから
初めてメールが来たのでちょっと驚く。

対象ファイルはこれ。

/home/***/.composer/cache/files/symfony/symfony/74f61c9a4abb84d0995ee346f00aeb53f7cb1b12.zip: Win.Trojan.Toa-5372190-0 FOUND

「Dec 23, 2016, 3:45 PM」に更新された模様。

Signatures Published daily – 22765

キャッシュファイルだし、自分で触った際にできたファイルだから
問題無いと思うけど念のためダウンロードしてウイルスソフトでも検査。

大丈夫だったのでホワイトリストに入れるか検討する。

同じような人も発見
https://twitter.com/AndyBeak/status/812632192107106304

追記 2016/12/27

「Dec 25, 2016, 7:49 PM 」に「Dropped Detection Signatures: 」になった。
Signatures Published daily – 22778

で、新たに「Win.Trojan.Toa-5370166-0」が見つかった。。

/home/***/.composer/cache/files/phpunit/phpunit/72ee2dd5dce111bfd7824e8702ad764dd2d1f273.zip: Win.Trojan.Toa-5370166-0 FOUND

こっちも同様に困惑している人を発見
https://twitter.com/mayuco_maid/status/813560405175857153

数日様子を見る。

追記 2016/12/28

「Win.Trojan.Toa-5370166-0」は「Dec 26, 2016, 11:51 AM 」に「Dropped Detection Signatures: 」になった。
というかこの日は「Dropped Sigs: 11296 」ってどういうことなのか・・・。

Signatures Published daily – 22782

Vagrant上のCentOS6にVulsインストール

Vulsインストール

Vagrant上のCentOS6にインストールを行ったメモ

公式のインストール方法:Vuls: VULnerability Scanner
SSHの設定をする

ローカルホストにSSH接続できるようにする。
SSHキーペアを作成し、公開鍵をauthorized_keysに追加する。

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

Vulsに必要な以下のソフトウェアをインストールする。
– SQLite3
– git v2
– gcc
– go v1.7.1 or later

※gitはCentOS6のデフォルトだと1.7とかなので、そのまま入れてはいけない

How to Install Git 2.8.1 on CentOS/RHEL 7/6/5 & Fedora 23/22

$ sudo yum -y install sqlite git gcc
$ wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz   <-時間がかかる
$ sudo tar -C /usr/local -xzf go1.7.1.linux-amd64.tar.gz
$ mkdir $HOME/go

/etc/profile.d/goenv.sh を作成し、下記を追加する。

$ sudo vi /etc/profile.d/goenv.sh
$ cat /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

カレントシェルに上記環境変数をセットする。

$ source /etc/profile.d/goenv.sh

go-cve-dictionaryのインストール

$ sudo mkdir /var/log/vuls
$ sudo chown mogu /var/log/vuls
$ sudo chmod 700 /var/log/vuls
$ mkdir -p $GOPATH/src/github.com/kotakanbe
$ cd $GOPATH/src/github.com/kotakanbe
$ git clone https://github.com/kotakanbe/go-cve-dictionary.git
$ cd go-cve-dictionary
$ make install

バイナリは、`$GOPATH/bin`いかに生成される
NVDから脆弱性データベースを取得する。
これは実行ユーザのホームディレクトリに「vuls」というディレクトリを掘ってその中に取得する方がやりやすい。

$ pwd
/home/mogu
$ mkdir vuls
$ cd vuls
$ for i in {2002..2016}; do go-cve-dictionary fetchnvd -years $i; done
$ pwd
/home/mogu/vuls
$ ll
total 680368
-rw-r--r-- 1 mogu mogu 592179200 Oct 21 10:11 cve.sqlite3
-rw-r--r-- 1 mogu mogu     32768 Oct 21 10:11 cve.sqlite3-shm
-rw-r--r-- 1 mogu mogu  22845432 Oct 21 10:11 cve.sqlite3-wal

vulsインストール

$ mkdir -p $GOPATH/src/github.com/future-architect
$ cd $GOPATH/src/github.com/future-architect
$ git clone https://github.com/future-architect/vuls.git
$ cd vuls
$ make install

Config

先ほど作った実行ユーザの「vuls」内に設定ファイルを記載する

$ pwd
/home/mogu/vuls
$ vim config.toml
$ cat config.toml 
[servers]

[servers.127-0-0-1]
host         = "127.0.0.1"
port        = "22"
user        = "mogu"
keyPath     = "/home/mogu/.ssh/id_rsa"

$ vuls configtest
[Oct 21 10:24:09]  INFO [localhost] Validating Config...
[Oct 21 10:24:09]  INFO [localhost] Detecting Server/Contianer OS... 
[Oct 21 10:24:09]  INFO [localhost] Detecting OS of servers... 
[Oct 21 10:24:10]  INFO [localhost] (1/1) Detected: 127-0-0-1: centos 6.7
[Oct 21 10:24:10]  INFO [localhost] Detecting OS of containers... 
[Oct 21 10:24:10]  INFO [localhost] Checking sudo configuration... 
[Oct 21 10:24:10]  INFO [127-0-0-1] sudo ... OK
[Oct 21 10:24:10]  INFO [localhost] SSH-able servers are below...
127-0-0-1 

セットアップ

$ vuls prepare
INFO[0000] Start Preparing (config: /home/mogu/vuls/config.toml) 
[Oct 21 10:24:46]  INFO [localhost] Detecting OS... 
[Oct 21 10:24:46]  INFO [localhost] Detecting OS of servers... 
[Oct 21 10:24:46]  INFO [localhost] (1/1) Detected: 127-0-0-1: centos 6.7
[Oct 21 10:24:46]  INFO [localhost] Detecting OS of containers... 
[Oct 21 10:24:46]  INFO [localhost] Checking sudo configuration... 
[Oct 21 10:24:47]  INFO [127-0-0-1] sudo ... OK
[Oct 21 10:24:47]  INFO [localhost] No need to install dependencies

検査開始

    $ vuls scan -cve-dictionary-dbpath=$PWD/cve.sqlite3 -report-json

TUIで結果確認

$ vuls tui

Ctrl + cで閉じる

脆弱性があったのにtuiでは空で表示された場合はconfig.tomlと同じディレクトリに脆弱性データベースを落としていたか再度確認する。

ClamAVでPdf.Exploit.CVE_2016_4207-1の対応

ClamAVでPdf.Exploit.CVE_2016_4207-1の対応

元々、「アンチウィルスソフト導入(Clam AntiVirus)

を参考にClamAVを導入していましたが、先日の「Signatures Published daily – 22213
以降PDFやzip、docxなどが誤検知されファイルが削除される状態になった。

検知⇒即刻削除の方が安全性は高いと思うけど、今回のような誤検知があった場合には被害が大きいので
一旦自分で内容を確認するようにしてみる。

まず、そもそも検知と同時に削除してしまうのが危ないので、
ウィルススキャン定期自動実行のスクリプトである「virusscan」スクリプト内を変更。

# vim /etc/cron.daily/virusscan

clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1

↓削除オプションを取る

clamscan --recursive ${excludeopt} / > $CLAMSCANTMP 2>&1

それとroot宛にメールを飛ばしていたので以下の箇所も変更。気づかないので・・・。

# vim /etc/cron.daily/virusscan

grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root

↓メール送信先を変更

grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" 自分のメールアドレス

ここまでで検知したら即時削除ではなく、検知したファイルをメールで通知してくれるようになった。

メールが来たらシグネチャを調査して本当に消す必要があるのか自分で判断してから削除する。

サーバ側での削除は以下のコマンドで検知&削除する。

# clamscan --infected --remove --recursive

remove以外にもmove、copyもあるようなので、必要に応じて使い分けるればいいかも。

# clamscan --help
・・・
    --remove[=yes/no(*)]                 Remove infected files. Be careful!
    --move=DIRECTORY                     Move infected files into DIRECTORY
    --copy=DIRECTORY                     Copy infected files into DIRECTORY
・・・

それと今回の「Pdf.Exploit.CVE_2016_4207-1」を除外するためにホワイトリスト設定を追加。

Whitelisting signatures
元々の結果

# clamscan --infected --recursive
/root/virus-data/test.pdf: Pdf.Exploit.CVE_2016_4207-1 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 4850553
Engine version: 0.99.2
Scanned directories: 1
Scanned files: 2
Infected files: 1
Data scanned: 2.30 MB
Data read: 0.37 MB (ratio 6.20:1)
Time: 7.857 sec (0 m 7 s)

ホワイトリストに追加。

# echo "Pdf.Exploit.CVE_2016_4207-1" >> /var/lib/clamav/local.ign2

検知されなくなった。

# clamscan --infected --recursive

----------- SCAN SUMMARY -----------
Known viruses: 4850552
Engine version: 0.99.2
Scanned directories: 1
Scanned files: 2
Infected files: 0
Data scanned: 2.54 MB
Data read: 0.37 MB (ratio 6.85:1)
Time: 7.712 sec (0 m 7 s)

DELL PowerEdge T310のLCDパネルに「I1912 System Event Log full. Review & clear log.」と表示されたのでその対応

DELL PowerEdge T310のLCDパネルに「I1912 System Event Log full. Review & clear log.」と表示されたのでその対応。

OS:CentOS6.2

調べてみると以下のページにたどり着いた。

ハードウェアログがいっぱいになった場合の対処方法

このページを見ると、「OpenManage Server Administrator」をインストールする必要があるようなのでインストールしてみる。

インストールは以下のページを参考に進める。

[OMSA] OpenManage Server Administratorインストール手順 for Red Hat Enterprise Linux 6.x

「コマンド:./srvadmin-install.sh –x」でエラーが発生。。

# ./srvadmin-install.sh -x
Error: srvadmin-install.sh is already executing.
       Wait for srvadmin-install.sh to complete and try again.
       Concurrent executions of srvadmin-install.sh can lead to unexpected
       or invalid installation results.

       If you want to continue anyway, please delete '/var/lock/LCK..srvadmin-install.sh.0' and try again.

数時間悩むも偶然見つけた以下のページを参考に「procmail」をインストールしてみた。

Install Dell OpenManage 7.4 on XenServer 6.5

# yum  install procmail

すると・・・

# ./srvadmin-install.sh -x
     Unrecognized Operating System or Architecture. This script cannot 
     continue with the installation. Select rpms from the OS folder in 
     the media that closely matches this Operating System to continue 
     with the manual install.

なんか変わった。

これもしばらく悩むも、「/etc/redhat-release」をどうにかすればよさそうな記事を目にする。

とりあえず

# echo "Santiago" >> /etc/redhat-release

でもだめっだった。もとに戻してから、

# echo "Tikanga" >> /etc/redhat-release
# ./srvadmin-install.sh -x
  Server Administrator version 7.4.0 is currently installed.
  Installed components are:
   - srvadmin-storelib-sysfs-7.4.0-4.1.1.sles10.i386
   - srvadmin-hapi-7.4.0-4.28.2.sles10.i386

  You are attempting to install Server Administrator version 7.3.0
  7.3.0 is lower than the installed version 7.4.0.
  Error: install cannot continue.

進んだ!
CDからは「7.3.0」を入れようとしてるみたいだけど、悩んでいろいろやってたときに「7.4.0」の
コンポーネントが入ってしまったようなので削除。

# yum remove srvadmin-hapi
# yum remove srvadmin-storelib-sysfs

削除して再度実行。

# ./srvadmin-install.sh -x
Installing the selected packages.

準備中...                ########################################### [100%]
   1:libsmbios              ########################################### [ 50%]
   2:smbios-utils-bin       ########################################### [100%]
エラー: 依存性の欠如:
        libcurl.so.3 は libwsman1-2.2.3.9-4.1.7.el5.i386 に必要とされています
準備中...                ########################################### [100%]
   1:srvadmin-omilcore      ########################################### [  3%]
     **********************************************************
     After the install process completes, you may need 
     to log out and then log in again to reset the PATH
     variable to access the Server Administrator CLI utilities

     **********************************************************
   2:srvadmin-deng          ########################################### [  6%]
   3:srvadmin-omacs         ########################################### [  9%]
   4:srvadmin-xmlsup        ########################################### [ 12%]
   5:srvadmin-rac-components########################################### [ 15%]
   6:srvadmin-hapi          ########################################### [ 18%]
   7:srvadmin-isvc          ########################################### [ 21%]
   8:srvadmin-argtable2     ########################################### [ 24%]
   9:srvadmin-smcommon      ########################################### [ 26%]
  10:srvadmin-ominst        ########################################### [ 29%]
  11:srvadmin-omcommon      ########################################### [ 32%]
  12:srvadmin-jre           ########################################### [ 35%]
  13:srvadmin-omacore       ########################################### [ 38%]
  14:srvadmin-idracadm7     ########################################### [ 41%]
  15:srvadmin-racdrsc       ########################################### [ 44%]
  16:srvadmin-deng-snmp     ########################################### [ 47%]
  17:srvadmin-storelib-sysfs########################################### [ 50%]
  18:srvadmin-storelib      ########################################### [ 53%]
  19:srvadmin-racadm4       ########################################### [ 56%]
  20:srvadmin-megalib       ########################################### [ 59%]
  21:srvadmin-storage       ########################################### [ 62%]
  22:srvadmin-idrac-vmcli   ########################################### [ 65%]
  23:srvadmin-idrac7        ########################################### [ 68%]
  24:srvadmin-smweb         ########################################### [ 71%]
  25:srvadmin-cm            ########################################### [ 74%]
  26:srvadmin-oslog         ########################################### [ 76%]
  27:srvadmin-storage-cli   ########################################### [ 79%]
  28:srvadmin-storage-snmp  ########################################### [ 82%]
  29:srvadmin-tomcat        ########################################### [ 85%]
  30:srvadmin-idracadm      ########################################### [ 88%]
  31:srvadmin-isvc-snmp     ########################################### [ 91%]
  32:srvadmin-idrac-ivmcli  ########################################### [ 94%]
  33:srvadmin-idrac-snmp    ########################################### [ 97%]
  34:srvadmin-sysfsutils    ########################################### [100%]

入った。一応「libcurl」入れておく。

# yum search libcurl

遂にOMSAのサービスを起動。

# /opt/dell/srvadmin/sbin/srvadmin-services.sh start
Starting Systems Management Device Drivers:
Starting dell_rbu:                                         [  OK  ]
Starting ipmi driver:                                      [  OK  ]
Starting Systems Management Data Engine:
Starting dsm_sa_datamgrd:                                  [  OK  ]
Starting dsm_sa_eventmgrd:                                 [  OK  ]
Starting dsm_sa_snmpd:                                     [  OK  ]
Starting DSM SA Shared Services:                           [  OK  ]

Starting DSM SA Connection Service:                        [  OK  ]

状態確認。

[root@localhost dell]# /opt/dell/srvadmin/sbin/srvadmin-services.sh status
dell_rbu (module) is running
ipmi driver is running
dsm_sa_datamgrd (pid 31827 31795) is running
dsm_sa_eventmgrd (pid 31906) is running
dsm_sa_snmpd (pid 31965) is running
dsm_om_shrsvcd (pid 32032) is running
dsm_om_connsvcd (pid 32085 32084) is running

起動した!ブラウザからも見れた!

夜エアコンが止まってる間にサーバが高温になってwarningログが大量に出てた。
ログのクリアをしたらLCDパネルの表示ももとに戻った。
夜社内が暑いのは解決していない。

※ちなみに別のサーバでは以下のサイトの方法で簡単に導入できました。

OMSA を CLI からサクッとインストールする。 (CentOS 6.x)

CentOS7にduplicityをインストール

CentOS7にduplicityをインストール

■epel導入

# yum install https://mirrors.kernel.org/fedora-epel/7/x86_64/e/epel-release-7-5.noarch.rpm

■python tools導入

# yum install python-devel librsync-devel librsync python-setuptools python-lockfile python-boto wget

■Duplicityのソースを取得、解凍、インストール

# wget https://code.launchpad.net/duplicity/0.6-series/0.6.26/+download/duplicity-0.6.26.tar.gz
# tar xvf duplicity-0.6.26.tar.gz
# cd duplicity-0.6.26
# python setup.py build
# python setup.py install
# duplicity --version

Duplicity 0.6 series is being deprecated:
See http://www.nongnu.org/duplicity/

duplicity 0.6.26

■FTPも使うのでncftpもインストール

# yum install ncftp

とりあえずこれでOK。

■参考
Installing Duplicity for Backups on CentOS 7

install duplicity on centos 64bit

■以前の記事
duplicityをCentOS6.3にインストールするメモ

duplicityをCentOS6.3にインストールするメモ

duplicity で1日前のデータを復元する

duplicity で1日前のデータを復元する

CentOS5系にduplicityをインストールする

CentOS5系にduplicityをインストールする

CentOS6の特定のサーバでMondo Rescueが動かなかった件

CentOS6の特定のサーバでMondo Rescueが動かなかった件

ログを見ると

mkisofs: Uh oh, I cant find the boot image ‘isolinux.bin’

と出ていた。

かなりいろいろ調べてみたけどまったくわからなかった。

ふと再度バージョンを確認すると・・・

mindiのバージョンだけmondorescue-testのものになってた。

# mindi -v
Mindi v3.0.220160107015217-r3494M
# mondoarchive -v
mondoarchive v3.2.1-r3456

最初のインストール時にmondoをmondorescue-testから入れて、
それから削除してとかやってたからmindiとバージョンがあわなく
なっちゃったんだな。

入れなおし後。

# mindi -v
Mindi v3.0.1-r3456
# mondoarchive -v
mondoarchive v3.2.1-r3456

それにしてもエラーメッセージからはまったく気づけなかった。。

さくらVPSのCentOS6をMondRescueでさくらVPSにリストアしてみた。

さくらVPSのCentOS6をMondRescueでリストアしてみた。

無料お試しのVPS2Gを借りて、デフォルトインストールされている
CentOS6をバックアップしてisoをダウンロードしてから、
同じサーバに対してisoイメージインストールでリストアを実験してみた。

一応再度インストール方法から。

今回の対象はCentOS release 6.7です。

# wget ftp://ftp.mondorescue.org//rhel/6/x86_64/mondorescue.repo
# mv mondorescue.repo /etc/yum.repos.d/
# yum -y install dvd+rw-tools
# yum install --enablerepo=mondorescue mondo
# yum install lzop
# cd /
# mkdir backup
# mondoarchive -Oi -L -N -s 4480m -d /backup -E /backup -p sakura-`hostname`-`date +%Y-%m-%d`

出来たisoファイルをダウンロードしておく。

その後、さくらVPSの管理画面にログインして「OSインストール」から「ISOイメージインストール」を選択する。
「SFTP」のアカウントを作成するボタンがあるのでクリックしてISOイメージアップロード先の情報を取得する。

SFTPで接続して「iso」フォルダに先ほどダウンロードしておいたisoイメージファイルをアップロードする。

アップロード終了後に再度「OSインストール」から「ISOイメージインストール」に進むと、
アップロードしたisoファイルが表示されているはずなので内容を確認してさらに「VirtIOを有効にする」の
チェックを外してから「設定内容を確認する」をクリック。
確認画面が出るので「インストールを実行する」をクリックしてリストアを開始する。

※「VirtIOを有効にする」にチェックが入っていた状態だと「expert」モードの時に「fdisk -l」しても
デバイスが無いも表示されなかったので、チェックを外した。

Mondo Rescueの画面になるので「expert」を入力する。

boot: expert
sh-4.1# fdisk -l

/dev/sdaとかが表示されているはず。

sh-4.1# vi /tmp/mountlist.txt

ファイル内の「vda」の箇所をすべて「sda」に変更する。

sh-4.1# mondorestore

「Automatically」を選択

リストアが始まる。

たぶんこの時に画面の下に

Formatting /dev/sda3 as ext4...OK
Formatting /dev/sda1 as ext4...OK
Formatting /dev/sda2 as swap...OK
All partitions were mounted OK.

が出れば順調に進んでいるはず。

次に

You will now be able to re-generate your initrd.
This is especially useful if you changed of hardware configuration,log: socket ignored cloned, made P2V, used multipath…
Do you need to do it ?

と出るので「Yes」を選択。

initrdの再作成の画面

次に

You’ll now be chrooted under your future / partition.
Go under /boot and rebuild your init(rd|ramfs) with
mkinitrd -f -v initrd-2.x.y.img 2.x.y
e.g.
or initramfs, dracut, … Then type exit to finish

と出るので「OK」を選択。

mkinitrdの再作成の画面

プロンプトでinitrdの再構築を行う。

sh-4.1# cd /boot/
sh-4.1# ls -lhtr vmlinuz*

一番下のバージョンのimgでinitrdを再生成。
今回はこんな感じだった。

sh-4.1# mkinitrd -f -v initramfs-2.6.32-573.12.1.el6.x86_64.img 2.6.32-573.12.1.el6.x86_64

再構築が終わったら

sh-4.1# exit

すこし待つと、

Because of bugs in GRUB’s own installer,
GRUB was not installed properly. Please install the boot loadermanually now,
using this chroot()’ed shell prompt. Type ‘exit’ when you have finished.

と出るので「OK」を選択。

GRUBのバグの再作成の画面

 

grubのインストールを試みる。

sh-4.1# grub-install /dev/sda
/dev/sda does not have any corresponding BIOS drive./boo

とエラーが出てしまったのでいろいろ捜索。

「/etc/mtab」に「vda」の記述が残っていることを発見したのでこれを修正する。

sh-4.1# vi /etc/mtab

それと「/boot/grub/device.map」に「vda」の記述が残っていることを発見したのでこれを修正する。

sh-4.1# vi /boot/grub/device.map

再度「grub-install」を実行。

sh-4.1# grub-install /dev/sda
・・・
(hd0)   /dev/sda

このように最後に表示されればOKっぽい。

プロンプトを抜ける。

sh-4.1# exit

最後に

Mondo has restored your system.
・・・

と表示されるので「OK」を選択。

プロンプトを抜ける。

sh-4.1# exit

その後何も起きないので、VPSの管理画面から
「強制再起動」を行う。

ログインプロンプトが表示されればOK。

今回は同じサーバにリストアしたので、ネットワーク関係の
再設定はいらないはず。

違うVPSにリストアする場合はUUID関係とかも調整しないと
いけないのかもしれない。。

今回同じサーバにも関わらず「Automatically」で全部できなかったのは
バックアップの時にカーネル検出を失敗していたのかもしれないと↓の
ブログを拝見して思いました。

さくらのVPSでOSイメージを作ってまるごとコピー

あと、VirtIOでも大丈夫って書いてある記事もあったのだけど
なんでできなかったのかは不明。

とりあえず、有事の際にローカルの仮想環境や元のVPSで
リストアできるところまでは検証できた。