ある時 mysqlを再インストールするために yumでremoveした後に/usr/share/mysqlもdeleteした。(これがトラブルの元)
再度yumでインストールしたが起動しない。
/var/logにあるmysqld.logを見ると [ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys' とあった。
でもこのファイルは存在するgoogle先生に聞くとhttp://kowta.blogspot.jp/2012/06/vps1gmysqlcentos62.htmlに回答があった。
# yum reinstall mysql-libs
でmysql-libsを入れる。
再度
# service mysqld start
でも走らない。再度ログをチェック、今度は
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
となっている。google先生に聞く。
http://ukonlly.hatenablog.jp/entry/20110908/1315491518に回答が。mysqldをストップし、/etc/my.cnfを
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
default-storage-engine=InnoDB
innodb_buffer_pool_size=128M
innodb_log_file_size=16M
innodb_log_files_in_group=2
skip-grant-tables ←これを記入
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
に変更し、mysqldを起動
# service mysqld start
# su mysql ユーザーをmysqlにする
bash-4.1$ mysql_upgrade
bash-4.1$ exit
# service mysqld stop
で/etc/my.cnfにある、先ほど記入した skip-grant-tables をコメントアウトし、mysqld を起動する。
今度は
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 16777216 bytes!
とあった。今度はhttp://blog.enjoitech.com/article/196に回答があった.
mysqld を止めてから /var/lib/mysqlにある、ib_logfile0 と ib_logfile1 を消す(mysqlが自動で作る)その後 mysqld を起動する。
(私はmysqlのインストール後にログのサイズを変更したため、この操作が必要だった)
これで、 mysqld を起動するとやっと起動できた。
ネットワーク内はsamba4を動かし、ファイルサーバーを立てているが、外からに対しファイルサーバーを作る。
これには webdav を動かす。CentOSでインストールされるapache は2.0なのでwebdavは設定だけで出来る。
# gedit /etc/httpd/conf.d/webdav.conf
# This is to permit URL access to WebDav.
#
Alias /webdav "/webdata/webdav"
<IfModule mod_dav.c>
DAVMinTimeout 600
<Location /webdav>
DAV on
SSLRequireSSL
AuthType Basic
AuthName "Login WebDAV"
AuthUserFile "/webdata/HtPasswd/.htpasswd"
Require valid-user
Order deny,allow
Deny from all
Allow from all
</Location>
</IfModule>
この設定はアクセスできるユーザーが決められていて、必ずSSLを使う設定なので、
この前にSSLの設定が終わっている事(もちろんapacheの設定も)。
参照:https://www.kinryokai.net/modules/news/article.php?storyid=146
次にアクセスできるユーザーに制限をかけたので、そのユーザーを作る。
# htpasswd /webdata/HtPasswd/.htpasswd ユーザー名
私は以前に同じ事をし、ユーザーを作っていたのでこれでいいが、最初にユーザーを作るときは htpasswdの後に -c オプションを付けること。
但し、もし以前に設定があったら全部消えるのでご注意を。
パスワードを2回聞かれるので設定する。
ちなみにこのユーザーはあくまでwebdavのみのユーザーなので、もちろんローカルのユーザーは作らなくてよい。
でもって、コンテンツにapacheサーバーがアクセスする為に所有者をapache(CentOSの場合)にする
# chown -R apache:apache /webdata/webdav
今度はクライアントであるwindows7に設定をするが、色々調べるとwindowsのwebdavの造り込みの評判がよくない。
なので、クライアントプログラムをインストールすることにしたが、前の会社で使っていたteamfileと言うのを使う。
まずはダウンロード http://www.teamfile.com/modules/d3downloads/ にアクセスし、TeamFile WebDAVクライアント(フリーウェア)をクリックしダウンロードする。
TeamFileFileSetup-2.1.146.1709.exe(2016年3月現在)があるのでそれをダブルクリックしインストールする。
エクスプローラー(インターネット・エクスプローラーでは無いよ)を開き左ペインのコンピューターをクリックすると、右ペインのその他下に TeamFile が出来ている。
これを右クリックし、サーバーの追加を をクリック。
名前は適当に入力、URLは正確に、特に私はSSLのみを許可しているので https:// の Sは大事、最後に / を忘れずに。
ユーザーIDとパスワードは設定した者。
その後、接続テストタブをクリックし、テストモードにする。
この画面は”テスト”をクリックした後の画面。
青のアンダーラインの様に接続成功となっているばOK。
ここでTeamFileの下に出来たWEBDAV(これは自分で設定した名前)をクリックするが、
サーバーエラーになってしまう。
コンテンツがWEBサーバーの実行ユーザーであるapacheになっていないような感じだが、いくら見直しても問題ない。
/etc/httpd/conf.d/webdav.conf も問題ない。どつぼにハマる。
色々探ったが結局問題は httpd.conf だった。
原因は以前にwebdavはwebdav.confでしようとhttpd.conf の下記の部分をコメントアウトしていたせい。
#
# WebDAV module configuration section.
#
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
#DAVLockDB /var/lib/dav/lockdb
</IfModule>
このコメントアウトを取り、apacheを再起動するとファイルが表示された。
47:でデーターのリストがあるが、新しくページを作ることにした。
2015年9月9日から10月2日までのデーター
2015年10月4日から10月26日までのデーター
上のデーターオフセットがおかしくなっている。真夜中で太陽が無いのに充電している!!!調べねば。
2015年10月28日から11月20日までのデーター
このデーターは天気が悪かったので、補充電が何度も入っている。10月29日までは前回と同じで、夜でも太陽電池の充電電流があるが、その後はなくなっている。これは絶対計測に使用しているオペアンプのオフセットがずれた為だが、その理由は今もって解らない。これほどオフセットがズレる程の温度変化や電圧変化は無い。しかも突然直っている。
2015年11月21日から12月14日までのデーター
2016年1月23日から2月15日までのデーター
私はDDコマンドでコピーを作る際(又はクローンでサブホストを作った時)、本来ならサブホストは停止してから行うべきだと思いますが、オンラインでやりました。
結果はOKでしたが、状況によってはつじつまが合わなくなるかも?
1:LVMで作っていたらLVMを作ってからやるべき
私はサブホストのルート領域をLVMで作っていますが、横着をして直接ディスクのパーティションに同じサイズで作りましたが(parted使用)どうも微妙にサイズが違うみたいで、DDコマンド時に領域が足りないとエラーが出た。表示されたセクター数を見ると1セクター違っていた。のでテスト用にPV、VG、LVと作りLVのサイズはオリジナルのサブホストと同じサイズで作成した。
2:UUIDもコピーされるので、変更すること。
その際、注意しなくてはいけないのはKVMでサブホストを作成すると、最初に指定した領域(LVM)にさらに領域を作りそれをルートのパーティションにしているので、ここを参照してloop0p1を作ってください。そこで
# tune2fs -U random /dev/mapper/loop0p1
追記:2019-7-9 CentOS7になってxfsになったので、同じことが出来なかった。
loop0p1を作るところまでは同じで、loop0p1をアンマウントし、xfs_adminでUUIDを作る。
# umount /dev/mappaer/loop0p1
# xfs_admin -U 新しいUUID /dev/mapper/loop0p1
又は# xfs_admin -U `uuidgen` /dev/mapper/loop0p1
として、UUIDを変更してください。これがサブホストのルート領域になる
3:UUIDを変更したのでブート関係も変更が必要になる
当世の流行りで、grub.conf や fstab にUUIDを指定して、ディスクを特定してるが、これが災いする。
私はLVMでルート領域を指定しているので、ディスクの順序が入れ替わる事による弊害は無いので、サブホストにUUIDを使う意味が無い
ので、/boot/grub/grub.conf と /etc/fstab のUUIDを指定している所を全部 /dev/vda1 に変更した。(UUID=と出てくる所)
4:IPアドレスも同じになる
サブホストはサーバーにしているので、固定IPにしていますが、これも同じになりますので変更してください。
私はNetworkManagerを使わずに、直接 /etc/sysconfig/network-scripts/ifcfg-eth0 で指定しています。
5:ホスト名も同じになる
/etc/sysconfig/network に設定があるので変更のこと
そしてサブホストを起動すると、どういう訳か最初は必ずudevが悪さをしてネットワークが使えないので、/etc/udev/rules.d/70-persistent-net.rules を削除して再起動。(このファイルは削除しても自動で再度正しい物を作ってくれる)
今日、ディスクのスペースをチェックしていたら、WEBサーバーのデータースペース用に割り当てているパーティションの残容量が少なくなっていた。
私はGUIなのでアプリケーション→システムツール→ディスク使用料の解析 で調べて見るとXOOPSのcacheのサイズが極端に大きくなっていた。キャッシュの数にして30万件。
その殆どがpiCal関連であった。さらにログを調べると、その殆どがbingbotのからのクローラーである。
どうもgoogle先生に聞いてもbingbotのクローラーのアクセスが多すぎる。ここを参照
それはさておき、こうもcacheが肥大化すると問題なので、piCalのキャッシュをしないようにした。管理メニューのSYSTEM ADMINの一般設定、さらに一般設定で下の方に各モジュールのキャッシュの設定がある。
運用中のサーバーをサブとして使っていたサーバーに変更した時の事。
プラグインもアップデート出来ない。
エラー内容
WordPressアップデート時:wordpress/wp-include/media.php がコピーできない
Akismetアップデート時:Akismet/_inc/img/logo-2x.png admin-ja.po slimjetpack-ja.po がコピーできない
原因はファイルのオーナー。でも私は WordPress以下のファイルのオーナーは普段使っているユーザー名、グループ名は apache でアトリビュート775。
つまり apache でも読み書き可能にしていたのだが、これでもエラーが出る。
ファイルのオーナーを apache にしないとダメみたい。でもって
# chown -R apache:apache WordPress のディレクトリー
でオーナー自体をapacheにしたらOKになった。でもこれではFTPでアップデート出来なくなるので、普段使っているユーザーをapacheグループに入れ、アトリビュートを775にした。
したのリンクをクリックするとPDFファイルが開きます。
山行記録1960年.pdf
山行記録1961年.pdf
山行記録1962年.pdf
山行記録1963年.pdf
山行記録1964年.pdf
テスト用ファイル
山行記録1960年.pdf 山行記録1960年.jpg
mondoarchiveからバックアップしたデーターDVDや /var/cache/mindi/mondorescue.isoから作成したCDROMでカーネルパニックになる原因が分った。結論は
mindi と mindi-busybox が32ビットになっていた。この原因も、最初に参考にしたWEBは32ビットだったので、その際にインストールされ、mondo を64ビットにした際に、そのまま mondo のみが 64ビットになり、前の二つは32ビットのままインストールされてしまい、悪いことにこのままバックアップが取れてしまい、又、データーとしては使えるので、以前にテストした時に/var/cache/mindi/mondorescue.isoから作成したCDROMでリストアが出来てしまったので、原因がなかなか解らず、苦労した。
# yum remove mondo mindi mindy-busybox
# yum install mondo mindi mindy-busybox
とやって64ビットを入れ、バックアップを取りDVDから立ち上げたら問題なくOSが立ち上がった。リストアはOSさえ立ち上がれば以前と同じはずなのでやっていない。
PS:だからパニックになった時
/init: error while loading shared libraries: libm.so.6:
cannot open shared object file: No such file or directory
万が一使用中の250GBのSSDが壊れたときの為に、新しいHDDでリストアをやってみます。
SSDがなかったので、500GBのHDDですべてのパーティションを消去してやってみました。もちろんカーネルパニックの出ないV3.0.0-r3332を使います。
パーティションの設定までmondoにまかせっきりだとうまくいかなかったので、最低限250GBのSSDと同じ三つのパーテイションを同じサイズで作ります。(500GBなので残りは未使用)
mondoのブートCDを使い、expertを入力するとコマンドプロンプトで止まりますので
# fdisk -u /dev/sda
Pでパーティションを確認し、もしあれば消去します。
その後、n、p、1、開始ブロック、終了ブロック、
同じようにパーティションの2と3を作ります。
その後2と3のファイルタイプをLVMにするためにt、パーティション番号、8e でLVMにしておきます。
PV,VG,LVは作らずそのままで終了。
後で出てきますが本来パーティションの1にブートフラグを付けて置くこと。
一様、パーティションの1をフォーマット
# mkfs.ext4 /dev/sda1
そして mondorestore と打ち込んでリストアをスタート、
Interractivelyを選びEnter
DVD Disksを選びEnter
mountlist(fstab)が表示されるが全くのデタラメ、何がいけないかと言うと私が /dev/sda に作成している lvm が filetype と mount point とも lvm として入っている。
それ以外は良さげだが TABキーと↓キーでこれらをこれらを全部 delete し(/以外)。OK を選びEnter (その際/のサイズを確認しておく事、もし違っていたらdeleteし、新たに作る事、私はSWAP領域も消した。無くても後から作れる。ブートする事が一番大事)
Are you sure ......とmountlistを保存していいかと聞いてくるので Yes (ここではパーティションは変えないと言っている)
Do yu want to erase and partitions your harddrives? はNo パーティションは作ってある
Do yu want to format your harddraives ? も No フォーマットしてある
Could not mount device(s)
/dev/Data/Kvm-Backupと表示され Abort するかと聞いているので No を選びEnter
注釈:これは原因がある。このCDを作ったときの名は確かにエラーに表示された名前だったが、今は KvmBackup と名前が変更になっているので
Restoreするかと聞いてくるので Yes を選びEnter
データーディスクであるDVD #1 を入れろとくるので、作成したエラーでカーネルパニックになるDVDを挿入(データーとしては使える)
やっぱりSSDより倍位時間がかかった。
Initialize the boot loader は Yes
Regenerate your initrd は Yes とすると
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 22.x.y. e.g.
or initramfs, dracut, .... then type exit to finish
# cd /boot
# mkinitrd initrd-2.6.32-573.el6.x86_64.img 2.6.32-573.el6.x86_64
でinitrdを作っておく、(これが必要かは定かでない、私は後でやる dracut の動きが分からなかったので一様やった。)
つづいてinitramfsを作るために
# dracut
ありゃーinitramfs-2.6.32-573....imgを作ってくれてない何でー?
いろいろ思案していくうちにもしかしてと思い現在のカーネルを調べる
# uname -r
ははー 2.6.32-504 を使ってる。そうか、このブータブルCD作ったときは2.26.32-504だったんだ。
それじゃーバージョン指定(その前にオリジナルのファイルはrename してある)
# dracut initramfs-2.6.32-573.el6.x86_64.img 2.6.32-573.el6.x86_64
で作ってくれた。いよいよ再起動
CDROMドライブを外したらHDDからブートする筈。ありゃーウンでもスンでもないぞ。
これは私がよくやる落ち込み、HDDを入れ替えているのでBIOSが元々バックアップ用についているHDDからのブートになっている。
これを直し、再起動。あやーまだウンでもスンでもない。そこでやっとsdaにブートフラグを付け忘れている事に気がついた。
fdiskからブートフラグを付け、またも再起動、今度は
Missing Operation system だと!!
今度は手持ちのubuntuのUSBメモリーからブート(意味は無い、CDより早いだけ)それで
# su - 私はrootのパスワードを設定rootになれる
パスワードを入力後 root になる
# mount /dev/sda1 /t1(このディレクトリーは作ってあった)
# chroot /t1 でsda1をルートにする
# cd /boot
# ls -la . で一様ファイル群を調べる。
# grub-install /dev/sda 私は/bootとルートは同じパーティション(違う時は --root-directory=/ が必要)
またまた、再起動。やったー。やっと起動した。ただしいっぱいエラーが出ている。これはLVM関連を作ってないし、swapもなくしたから。後から手動で作ればいい。今回はテストなので起動さえすれば目的は達成。
早速、作成したDVDでコンピューターを立ち上げますが、万が一リストアに失敗したら大変ですので、あらかじめバックアップを取っておきます。
私の場合はサブのコンピューターでしたので、最悪の場合メインのコンピューターから復元できますのでバックアップは取りませんでした。
なにはさて置き、BIOSを変更し、DVDドライブからブート出きるようにしてからブート。
初期画面が表示されEnterでリストアにしたいが、あれれ!!!カーネルパニックでOSが立ち上がらない。そう言えばこのコンピューター、CentOS6.7のLIVE DVDからもブートしなかったけ。でもおなじDVDは他のマザーボードでは問題無し、なので他のコンピューターから起動するもカーネルパニックになってしまう。エラーの内容は
/init: error while loading shared libraries: libm.so.6:
cannot open shared object file: No such file or directory
追記:この原因は mindi と mindi-busybox が32ビットだった。ここを参照。
だったら前に作成したCD-ROM(以前に /var/cache/mindiに有った mondorescure.iso を焼いたもの)で試した。
画面が出たら”expert”と入力しEnter。おーおー立ち上がったぞ。しかしいろいろエラーが表示されたが関係ないみたい。ともかくコマンドプロンプトが出た。そこで
mondorestoreと入れEnter。
Interractivelyを選びEnter
DVD Disksを選びEnter
mountlist(fstab)が表示されるが全くのデタラメ、何がいけないかと言うと私が /dev/sda に作成している lvm が filetype と mount point とも lvm として入っている。
それ以外は良さげだが TABキーと↓キーでこれらをこれらを全部 delete し(/以外)。OK を選びEnter (その際/のサイズを確認しておく事、もし違っていたらdeleteし、新たに作る事、私はSWAP領域も消した。無くても後から作れる。ブートする事が一番大事)
Are you sure ......とmountlistを保存していいかと聞いてくるので Yes (ここではパーティションは変えないと言っている)
Do yu want to erase and partitions your harddrives? は絶対に No(パーテションを再作成したら、LVMに保存してあるデーターが消える)
Do yu want to format your harddraives ? も絶対に No(フォーマットしたら保存してあるデーターが消える)
Could not mount device(s)
/dev/Data/Kvm-Backupと表示され Abort するかと聞いているので No を選びEnter
注釈:これは原因がある。このCDを作ったときの名は確かにエラーに表示された名前だったが、今は KvmBackup と名前が変更になっているので
Restoreするかと聞いてくるので Yes を選びEnter
データーディスクであるDVD #1 を入れろとくるので、作成したエラーでカーネルパニックになるDVDを挿入(データーとしては使える)
ここで15〜20分位かかり、
Initialize the boot loader は Yes
Regenerate your initrd は No
mountlistを変えたかと聞いてくるが、これは前に変更しOKしたものからさらに変えたかと言う意味らしいので No (Yesにするとmountlistの編集になるが訂正してあるものが表示される)
Label を付けるかはどちらでもいいが私は No にした。
これでやっと終了:プロンプトで exit とやるとリブートするらしいが、私の場合はリブートしなかったので、リセットSWでリブートさせた。
わざとDELETEしたユーザー・ディレクトリーが復活しているので、ちゃんとリストアーされたみたい。又、フォーマットしていないのでファイルのダブリが気になったが、上書きで作っているみたいでおかしな事にはならなかった。
これからパニックになったDVDをどうやって修復するか研究中です。原因はここを参照。
又、まっさらなHDDにもレストア出来るか試すつもり。
それともう一つ注意点:ディスクのUUIDに関する問題。今ではパーティションの指定にUUIDを使うのが主流だが、HDDを新しくするとUUIDも変わるのでブートしなくなる。blkidなどで調べて変更してもいいが、何かとツマヅキの原因になるので、私は fstabとgrub.confのパーティションの指定には /dev/sda1 や kernel /boot/vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/sda1 ..... 等を使っている。