OSを選択して入れ替える
目次
コンピュータに合ったOSを選ぶ
パソコン、つまりコンピュータは、基本的にOS(Operating System):オペレーティングシステムが入っていないと動きません。
OSは、操作する人間と、機械であるコンピュータの間でそれぞれが動きやすいように通訳や仲介をしている基本ソフトなので、機械側に完全に合わせられる人間でもない限り、OSなしにコンピュータを使うことは難しいです。
そのOSにはかなりの種類がありますが、非常に大まかなくくりでは、Windows 系とUNIX系に大別されます。
Windowsは、Microsoftが出しているOS で、パソコンを買ったときにはインストールされていることが多いため、一般の方にも馴染みがあるかと思います。
一方のUNIXは、あまり聞いたことがないという方も多いでしょうが、サーバーなど、直接目に触れない部分で使用されている事が多く、非常に重要なOSです。
ちなみに、UNIXよりは聞いたことがあるかもしれない、Linux(リナックス)はUNIXの仲間になります。
Windows とLinuxはどっちが良いのか?
時々、この手の質問をされることがあります。
この質問は、一般的な例えで言うと、「カレーライスと、ラーメンはどっちがお昼ご飯に良いか?」と聞いているようなものなので、回答としては、「その場その場で臨機応変」になります。
まず、Windows 系OSは非常にわかりやすく、95や98だった頃は不安定な要素もありましたが、最近の10などは安定性もよくなり、性能的にも満足のいくものです。
Windows に合うアプリケーションも多いため、Windowsを選んで後悔することは、ほとんどないでしょう。
ただし欠点として、一企業の製品であるためすべて有償なうえ、OSとしてはコンピュータの力を多く使用するため、いわゆる「重い」OSになります。
下位互換性も低く、新バージョンでは古いハードウェアへの対応が切られてしまう事もあり、必ず、ではありませんが、5年以上前のパソコンに導入すると動作が遅かったり、場合によっては動かないことがあります。
一方のUNIXは、多少良くなったとはいえ、時折、原因不明の不具合を起こしたり、更新の際に再起動を必要とするWindows とは比較にならないほど安定して動作します。
電源投入から一度も再起動せず、1年間動き続けるなど、UNIX系には「当たり前」な程です。
また、Linux などは無料で取得することができるうえ、Windows 比べてOSとしてはコンピューターの力を使わない「軽い」OSのため、少々古いパソコンでも比較的快適に動作します。
Linuxの中には、Windows に似たグラフィカルな操作が基本のものもありますので、古いパソコンにLinux を入れて復活させることも可能です。
蛇足ですが、Apple社のMacintoshのOSや、スマートフォンのAndroidも、ベースにUNIX系を使ったOSなので、大きな仲間としてはUNIX系になります。
中古ハードに合ったOSの選択例
ネットオークションで、このようなサーバー機を購入しました。
DELL社製のサーバー、PowerEdge T110 IIになります。2011年ころの発売ですから、もう初販からは10年近く経ついわば古参機です。
おそらくは、どこかの会社でサーバーに使用されていた機器が、リースの終了や、新しい機材の購入で不要になり、中古屋へ売却されたものと思われます。
写真を見ると、ハードディスクが2つ入っていて、そのケーブルがマザーボード本体ではなく、そこに刺さっているボードに繋がっています。
これは、このサーバーが「RAID」(レイド)という技術を使用していて、かつ、そのRAIDを「ハードウェア」で実現している事になります。
RAIDとは?
コンピュータの記憶装置であるハードディスクや、SSDなどのストレージは、普通、パソコンに1台が搭載されています。
しかし、もし何かのトラブルで、そのストレージが壊れてしまったら、どうしましょう?
あなたが作ったデータは、あなたの元にしかありません。
もし、あなたのパソコンのストレージが故障してデータが喪失した場合、取り返す手段はほぼありません。
ここで、冷徹なことを言いますが、あなたのデータが無くなっても、困るのはあなたか、あなたの周辺だけです。
ただ、企業のサーバーとなると、故障でデータが失われると、損害の範囲が膨大になります。
2020年に発生した、東京証券取引所のシステム障害ほどではなくても、かなりの範囲に及ぶことがあります。
このため、例えば2つの同型ストレージに同時に同じデータを書いておき、万一、ストレージが障害で失われても、もう片方からデータを取り出せるようにするのが、RAID、正確にはRAID 1となります。
インストールの実例
さて、このRAID搭載のサーバー機には、Windows Serverの2008がインストールされていましたが、2008はとっくにサポートが切れているので、CentOSをインストールすることにします。
起動させると、SAS(Serial Attached SCSI)のコントローラーが立ち上がります。
インストールされていたWindows Server2008を立ち上げると、メモリが16GBあり、ディスクは約1TBのが「一つ」あるのがわかります。
解体したときは、ハードディスクは2台でしたが、それをOSには1台と認識させ、両方のディスクに同じデータを書き込むRAID 1の構成であることがわかります。
CentOS8にドライバがない
そこで、CentOSのインストーラーを設定したUSBメモリで起動し、インストールのための設定に入ります。
ところが、設定を進行させると、インストール先が変です。
開いてみると、ディスク容量が14GBしかありません。
調べてみると、このPowerEdge T110 IIに搭載されている、先ほどのSASコントローラーを動作させるプログラムである「ドライバー」が、CentOSの新しいものに搭載されていないことがわかりました。
windows が旧来のハードを見限って、ドライバーを外すのは見たことがありますが、Linuxでは珍しい例です。
方法としては、SASコントローラーのドライバーを探すか、ドライバーが提供されているOSを選択するかの何れかになります。
今回は、特にCentOSでなくてはならない事情がなかったため、別のLinuxを試してみることにしました。
Ubuntuを試してみる
Ubuntuを試します。
Ubuntuは、Debian というLinuxディストリビューションを母体につくられた、Linux系のOSです。
使いやすさで定評があり、古めのノートパソコンなどに導入しても使用できるなど、用途が広いです。
もちろん、Linux系なのでサーバーとしても非常に強固・堅牢で、細かい違いはあるものの、CentOSと同じように使用できます。
こちらのインストーラーを使用したところ、ディスクに関する警告は発生しませんでした。
このように、「何に使用するか」と、機械側のハードウェアにあわせ、OSを選択する事が大事です。
Ubuntu Serverに入れ換える
2023年8月の追加記事です。デスクトップをサーバーとして使用していたのですが、動作が重かったりいろいろ不具合が出てきましたので、さらにOSを入れ換えます。
ISOファイル入手
Ubuntuの公式サイトからUbuntuサーバーのディスクイメージをダウンロードします。
USBメモリーに展開
ダウンロードしたファイルは、ディスクのイメージであるISO形式なので、USBメモリーに展開する必要があります。
窓の杜から、書き込み用プログラムとして、Rufusを入手します。
デバイスに空のUSBメモリのドライブを指定し、「選択」からダウンロードしたイメージを選択すればOKです。
ただし、スタートを押したら、そのUSBメモリのデータは全て削除されて、ディスクイメージと置き換わるため、使用中のUSBメモリを指定しないよう、くれぐれも注意してください。
インストール
コンピューターにUSBメモリを挿し、起動時に、USBから起動するよう設定してコンピュータを立ち上げれば、インストールがはじまります。
設定
基本的な設定は、ServerWorld様に記載の通りで大丈夫です。
ただ、Ubuntu22.04は、SSHの処理が更新されているため、記事通りにすると、SSH 鍵ペア認証がうまくいかず、少しハマりました。
鍵ペア作成コマンドは、ssh-keygen -t ed25519 になります。
これで作成した鍵のうち、.pub付きのファイルの内用を authorized_keys にコピーし、拡張子の何もついていないファイルはPCに転送します。
これで、この鍵ファイルを持っていないパソコンからは接続ができなくなります。
KVMで仮想コンピュータを作成する
PowerEdge T110 IIは、 CPU が仮想化機構を備えています。
また、重いながら、UbuntuデスクトップでVMwareが実行できていました。
ただ、Ubuntuさーばーになったため、デスクトップ画面が必須の VMwareから、KVMに乗り換える事にしました。
インストール
インストールについては、ServerWorld様の記事の通りで大丈夫でした。
Cockpitのインストール
今回のOSはUbuntuサーバーで、デスクトップ環境はインストールしません。
このため、GUI環境を要する設定などは行えません。
このため、CockpitというWEB経由でサーバーの設定を制御するプログラムを導入します。
導入方法は、ServerWorld様の記事の通りで大丈夫です。
Cockpitに仮想マシン管理を追加
仮想マシンの追加は、こちらのサイト様を参考にしました。
記事通り、
apt install cockpit cockpit-machines
を実行すると、仮想マシンの管理リンクが現れます。
後は、Windows10のisoファイルをサーバー機に格納し、ファイルにそれを指定してやれば、Windows10の仮想マシンを起動できます
このように、ブラウザの中で、立ち上がったWindows10を見る事ができます。
外部には繋がりません
この状態で作成した仮想マシンは、サーバー内で独自のIPアドレスが与えられます。
その独自のIPと、サーバー機のIPとを中継する事でネットワークに繋がっています。
このため、この仮想Windowsマシンは、Edgeなどでインターネットを閲覧したりすることは可能ですが、サーバー機が繋がっているLAN内のコンピュータとやりとりをすることは出来ない状態です。
ブリッジネットワークを作成する
仮想マシンをLAN内に繋ぐには、ブリッジネットワークを作成します。
こちらのサイト様を参考にしました。
記事中で紹介されているように、vi /etc/netplan/01-network-manager-all.yaml で新規のファイルを作り、下記の内容を記載しました。
# Let NetworkManager manage all devices on this system$
network:$
ethernets:$
eno1:$
dhcp4: yes$
dhcp6: yes$
version: 2$
bridges:$
br0:$
interfaces: [eno1]$
dhcp4: yes$
dhcp6: yes$
eno1の部分は、Ubuntuサーバー上のターミナルで、ip a コマンドで調べた、IPアドレスの割り振りされているネットワークの名前です。
記載し、保存したら、# netplan apply でブリッジ ネットワークを有効にする構成を適用します。
この際、このコマンドは、Ubuntuサーバー上のターミナルを使用しましょう。
私は迂闊に、Windows10から接続したTera Term上で実行し、ネットワークが切断されて回復に一手間かかりました。
作成したブリッジネットワークを使用する
この設定を行うと、前述のCockpitで繋がるWEB上の仮想マシン管理画面で、ソースに先ほど設定したbr0が設定できるようになります。
新規に仮想マシンを起こすとき、あるいは前述の既に作ってしまった場合でも、ネットワークのソースにbr0を指定すると、LAN上のIPアドレスがDHCPサーバーから割り当てられ、同一グループのマシンとして使用できます。
リモートデスクトップで接続すればOK
この設定後は、LAN上のマシンと同じグループのIPアドレスが割り当てられているはずですから、例えばWindows10なら、リモートデスクトップで接続すれば、もうCockpitの画面が閉じられていても操作が可能です。