yuu_nkjm blog


2012-02-05(Sun) [長年日記] 編集

[openSUSE][Linux][Windows][Troubleshooting] OSが正常起動しない

接続機器に問題がある

USB接続機器(USB HDD)の問題
  • USB HDDなどのUSB接続機器がささっていると,OSがブートしなくなることがあるので,抜いてから起動してみる.抜いて起動したとしても,今度は「ディスクの接続状況の不整合」のようなエラーが待っていることも多い.

ハードディスクに問題がある

ディスクの接続状況の不整合
  • yast->System->パーティション設定や/etc/fstabを確認する.
  • /etc/fstabに書かれた/dev/sdaなどのディスクが存在しないと通常のブートが出来なくり,レスキューモードで起動される.「ブートに必須のデータが入っていないHDDだし,なくてもbootするやろ」と軽い気持ちでいると,やられることがある.
  • レスキューモードでbootすると,rootのパスワードを聞かれる.ログインすると「通常起動するなら"systemctl default"と入れろ」など促される.yastを使うか/etc/fstabを編集するなどして,設定と接続状況が整合するようにする.
ファイルシステムの不整合

レスキューモードの様な形でOSが起動し,以下の様に表示されることがある.

ata_id HDIO_GET_IDENTITY failed for /dev/sdc: Invalid argument
fsck.ext2  Bad magic number in super-block while trying to open sdc2

祈りながらfsckをするぐらいしかないのか….

 fsck -y /dev/sdc2

2012-02-04(Sat) [長年日記] 編集

[KVM][openSUSE] KVMクライアントに新しい仮想HDDを追加する

disk1.rawにゲストOSがインストールされているとする.

仮想HDDの作成

qemu-img create -f qcow2 bkup.qcow2 50G
 
ls -la
drwxr-xr-x 2 root root        4096  2月  1 14:29 .
drwxr-xr-x 7 root root        4096  2月  1 13:29 ..
-rwxr-xr-x 1 root root 32212254720  2月  1 13:28 disk1.raw
-rw-r--r-- 1 root root      197632  2月  1 14:27 bkup.qcow2

qcow2で作成すると,初期値は小さくてなかなか良い感じ.

仮想HDDの変換(余談)

変換したHDDを追加したいこともあると思うので,ここに載せる.例えば,rawからqcow2に変換するコマンドは以下.

qemu-img convert -O qcow2 /path/to/disk1.raw /path/to/disk1.qcow2

仮想HDDの追加

仮想マシンを選ぶ -> 詳細 -> ハードウェアの追加->ストレージ
 
管理しているストレージを選択する:先ほど作成した仮想HDDのパス
デバイスの種類:Virtio
キャッシュモデル:default
Storage format: qcow2

起動しようとすると,起動できない!

bkup.qcow2を追加する前のkvm.nkjm.infoのdisk部分はこんな感じだった.

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>

追加したあと"virsh dumpxml kvm.nkjm.info"として設定を確認すると,なぜかvdaがbkup.qcow2になってしまっている.

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/bkup/kvm.nkjm.info/bkup.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/>
      <target dev='vdc' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>

追加したあとxmlを確認すると,なぜかvdaがbkup.qcow2になってしまっている.

"virsh edit kvm.nkjm.info"として下記の様に修正する.

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/kvm/images/kvm.nkjm.info/disk1.raw'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/bkup/kvm.nkjm.info/bkup.qcow2'/>
      <target dev='vdc' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>

2012-02-03(Fri) [長年日記] 編集

[KVM][openSUSE][Linux][Network][Troubleshooting] ネットワークに接続できない

「サーバがネットワークに繋がらないんですけど」とか聞かれた時に,僕がやろうとぱっと思うことをメモ.

ネットワークに繋がっていない

  • LANケーブルが正しいポートに刺さっていることを確認する.サーバだと複数のネットワークポートがあり,間違えることがある.
  • LEDの確認をする.連載:詳説 TCP/IPプロトコル 第9回 イーサネット(その4)フロー制御とVLAN、トラブルシューティング -- 3.トラブルシューティング(LEDによる確認)
  • 当該サーバの上流が生きていることを確認する.当該サーバのの上流のハブからLANケーブルを引き出し,当該サーバと同じネットワーク設定をしたノートPCにつなぎ,疎通を確認する.
  • ping,telnet,sshなどを使って外部からのアクセスを確認する.ICMPによる通信が許可されていないのにpingで確認をしたり,sshdが起動していないのにsshで確認したりしないように気をつける.
  • "ethtool eth0","ethtool br0"などして,有効なEthernetに接続されていることを確認する.
  • ifconfigで,ネットワークカードが認識され,IPアドレスが意図通り割り振られていることを確認する.
  • "/etc/init.d/network restart"をする.

名前解決ができていない

  • dig google.comなどして,名前解決が出来ているかを確認する.
  • 確実に通信ができるDNSサーバに対して名前解決を依頼する."dig @dns.nkjm.info google.com"
  • yastのネットワークの設定から,DNSリゾルバのIPアドレス/etc/resolv.confの設定が,基本的なDNSリゾルバの設定である.

外部へのHTTPアクセスが出来ない

  • wgetをプロキシが見つからず,外部へのHTTPアクセスができない.プロキシの設定が間違っていることもあるし,プロキシの設定はあっているのだが,名前解決ができていないこともある.
  • プロキシの設定は/etc/sysconfig/proxy,~/.bashrc,/etc/wgetrcなどに書かれている.

その他

  • どこでPROXYやDNSサーバの設定をしているのか分からないときは,"grep -iRI PROXY /etc /home/hoge/.*"などして,/etcやホームディレクトリを検索するとよい.

トップ 最新 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|