HOME サービス案内 コラム 事例 会社概要 お問い合せ
コラム
   
10行コラム
ITコラム
技術解説
NetBSD研究
ITニュース解説
技術解説 >>VirtualPCとCentOS
VirtualPCとCentOS

目次
0 はじめに
1 VirtualPCとは
2 VirtualPCの機能
3 CentOSとは
4 PCハードウエア
5 基本ソフト
6 CentOSとLinuxのバージョン
7 CentOSから見える仮想ハードのRAM(メモリー)
8 CentOSの稼働時間
9 CentOSのネットワーク状況
10 ホストOSであるWindowsXPのネットワーク状況
11 CentOSが認識するハードウエア
 
0 はじめに

VirtualPC 2004 SP1にCentOS/LinuxやFreeBSDをインストールし、システムの事前評価などに使っている。本書は、SIPサーバの評価のためにVirtulPC上で動作したCentOS3.8の記録である。
 
 CentOS上でのサーバーソフトウエアを評価するためにCentOSを導入した。もともと短期的な評価の予定だったが、ホストOSのWindowsXP、VirtualPCともに不具合なく動作し、一ヶ月以上連続稼働している。

virtualpc
1 VirtualPCとは

Microsoftが開発販売している仮想PC構築ソフトウエアの商品名。無償で配布されている。同社の類似の製品に仮想サーバー構築ソフトがある。やはり無償で配布されてている。

MicrosoftのVirtualPC詳細紹介ページ Microsoft VirtualPC
MicrosoftのVirtualServer詳細紹介ページ Microsoft Virtual Server
2 VirtualPCの機能

VirtualPCはPCの上に小分けしたPCを立ち上げる。母体となるPCの資源の範囲内で複数の仮想ハード=仮想PCを立ち上げることができる。仮想ハード上では様々なPC用のOS(基本ソフト)が動作する。今回使ったMicrosoft VirtualPCは、Microsoft社が販売してきた様々なOSをサポートしている。本書で取り上げるCentOSなどMicrosoft社製ではないPC用OSは当然ながらVirtualPCのサポート対象ではない。しかし、仮想ハードはPCと同じ動きを提供するので、実際には様々なPC用のOSが動作する。

3 CentOSとは

Community ENTerprise Operating Systemの略。Linuxの配布仕様のひとつ。The CentOS Projectが配布している。企業用のサポート付Linuxとして成功しているredhat Enterprise Linux (RHEL)から派生したLinuxの配布仕様。RHELを基にし、redhatのライセンスを必要とする部分を置き換えたもの。いわゆるRHELの「クローン」と呼ばれる基本ソフトのひとつ。redhat社とは無関係に開発、配布及びサポートが行われる。redhat社のサポートは一切受けられない。
 
CentOSの詳細情報ページはこちら
「CentOS」という言葉から知りたい方は 日本語 フリー百科事典ウィキペディア
「Linux」は知っているという方は 日本語 CentOS日本語版FAQなど
CentOSの開発元 英語 The CentOS Project
4 PCハードウエア

PCハードウエアは自作。ソフトウエア開発ツールとVirtualPCを導入することを前提にRAMは2Gとした。

Motherbord:Intel製
CPU:Intel Celeron 2.66G
RAM:2G
Graphics:Matrox Millennium G450 DualHead Japanese
Network:Intel PRO 1000CT (OnBord)
    :Realtek RTL8169/8110 Family Gigabit Ethernet NIC
    :BUFFALO LGY-PCI32-GT Gigabit Ethernet Adapter
    :VIA Networking Velocity Family Gigabit Ethernet Adapter
    :VIA Networking Velocity Family Gigabit Ethernet Adapter
    :VIA Networking Velocity Family Gigabit Ethernet Adapter
    :TAP Win32 Adapter V8 (coLinux)

(*)開発機のため多くのGbEアダプタを装備
5 基本ソフト

WindowsXP SP2をホストOSにしている。ホストOSにはFireFox、Borland Delphi7(開発ツール)、ドキュメントツール等をインストールしている。ソフト開発用のPCなので、メモリーは大きい方が良い。

Microsfot WindowsXP SP2
Microsoft VirtualPC 2004 SP1 5.3.582.27

VirtualPC上のCentOSに約256Mを割り当てている。VirtualPC上でCentOSが動作しているときの母体となるWindowsXPのメモリー消費量は40%弱。VirtualPCとCentOSが同時に動いていることの支障は感じない。
6 CentOSとLinuxのバージョン

現在使っているCentOSのバージョンは以下の通り。

[root@localhost root]# uname -a
Linux localhost.localdomain 2.4.21-47.0.1.EL #1 Thu Oct 19 11:42:25 EDT 2006
i686 i686 i386 GNU/Linux
[root@localhost root]# cat /etc/redhat-release
CentOS release 3.8 (Final)

CentOSを起動後、yumを使ってアップデートした。
7 CentOSから見える仮想ハードのRAM(メモリー)

ほとんどをデフォルトのままとしており、不要なプロセスも動作している。

[root@localhost root]# free -k
          total  used   free  shared  buffers  cached
Mem:        252120  246904  5216  0    78028   54044
-/+ buffers/cache: 114832  137288
Swap:       522104  68    522036


(*)単位は(キロバイト)。

Xwindwsは止めているので、グラフィクス関連のメモリーはほとんど必要としない。しかしながら評価ソフトウエアのSIPサーバーが12プロセス立ち上がり、割り当てられた物理メモリーをほぼ使い切っている。
8 CentOSの稼働時間

[root@localhost root]# uptime
13:10:21 up 32 days, 21:55, 2 users, load average: 0.63, 0.38, 0.27
9 CentOSのネットワーク状況

eth0に送受信ともエラーが一回発生している。この原因は判らない。

[root@localhost root]# ifconfig -a
eth0   Link encap:Ethernet HWaddr 00:03:FF:EB:E5:26
     inet addr:192.168.0.235 Bcast:192.168.0.255 Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:16416550 errors:1 dropped:0 overruns:0 frame:0
     TX packets:29952911 errors:1 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:1011589856 (964.7 Mb) TX bytes:3843450750 (3665.4 Mb)
     Interrupt:11 Base address:0xa000

lo    Link encap:Local Loopback
     inet addr:127.0.0.1 Mask:255.0.0.0
     UP LOOPBACK RUNNING MTU:16436 Metric:1
     RX packets:64 errors:0 dropped:0 overruns:0 frame:0
     TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:9765 (9.5 Kb) TX bytes:9765 (9.5 Kb)


eth0は以下のドライバで動作
eth0: Digital DS21140 Tulip rev 32 at 0xd08ba000, 00:03:FF:EB:E5:26, IRQ 11.
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
10 ホストOSであるWindowsXPのネットワーク状況

VirtualPCが動作しているWindowsXPから見たネットワークの状況は以下の通りで送受信エラーはない。先のCentOSの送受信エラーは、外部要因ではないと推測できる。

C:\Documents and Settings\taniyama>netstat -e
Interface Statistics

              Received      Sent

Bytes          1546530840   3395259706
Unicast packets      42898625    27214048
Non-unicast packets     856455      28259
Discards             0        0
Errors              0        0
Unknown protocols        275

11 CentOSが認識するハードウエア

VirtualPCの仮想ハードウエアはCentOSのdmesgの出力で詳細に判る。
 
Linux version 2.4.21-47.0.1.EL (centos@sillage.bis.pasteur.fr) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-56)) #1 Thu Oct 19 11:42:25 EDT 2006
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000fdf0000 (usable)
BIOS-e820: 000000000fdf0000 - 000000000fdff000 (ACPI data)
BIOS-e820: 000000000fdff000 - 000000000fe00000 (ACPI NVS)
BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
253MB LOWMEM available.
NX protection not present; using segment protection
On node 0 totalpages: 65008
zone(0): 4096 pages.
zone(1): 60912 pages.
zone(2): 0 pages.
Kernel command line: ro root=LABEL=/
Initializing CPU#0
Detected 2569.588 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 5229.77 BogoMIPS
Page-cache hash table entries: 65536 (order: 6, 256 KB)
Page-pin hash table entries: 16384 (order: 4, 64 KB)
Dentry cache hash table entries: 32768 (order: 6, 256 KB)
Inode cache hash table entries: 16384 (order: 5, 128 KB)
Buffer cache hash table entries: 16384 (order: 4, 64 KB)
Memory: 249768k/260032k available (1552k kernel code, 7848k reserved, 1075k data, 164k init, 0k highmem)
zapping low mappings.
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Trace cache: 12K uops
CPU: L2 cache: 256K
CPU:   After generic, caps: 07c0a97b 00000000 00000000 00000000
CPU:       Common caps: 07c0a97b 00000000 00000000 00000000
CPU: Intel(R) Celeron(R) CPU 2.66GHz stepping 01
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
Process timing init...done.
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: none
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router PIIX [8086/7110] at 00:07.0
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: checksum for device 1 is not valid (0x89)
isapnp: checksum for device 2 is not valid (0xbe)
isapnp: Card 'Sound Blaster 16'
isapnp: Card 'Game Port'
isapnp: 2 Plug & Play cards detected total
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16)
Total HugeTLB memory allocated, 0
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
aio_setup: num_physpages = 16252
aio_setup: sizeof(struct page) = 56
Hugetlbfs mounted.
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS0 at 0x03f8 (irq = 4) is a TI16750
ttyS1 at 0x02f8 (irq = 3) is a TI16750
Real Time Clock Driver v1.10e
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 256 RAM disks of 8192K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
  ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:pio
  ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
hda: Virtual HD, ATA DISK drive
blk: queue c041d980, I/O limit 4095Mb (mask 0xffffffff)
hdc: Virtual CD, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 33554304 sectors (17180 MB) w/64KiB Cache, CHS=2088/255/63, DMA
ide-floppy driver 0.99.newide
Partition check:
hda: hda1 hda2 hda3
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
Initializing Cryptographic API
NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
Initializing IPsec netlink socket
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 158k freed
VFS: Mounted root (ext2 filesystem).
Journalled Block Device driver loaded
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 164k freed
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding Swap: 522104k swap-space (priority -1)
IA-32 Microcode Update Driver: v1.13 <tigran@veritas.com>
microcode: CPU0 updated from revision 0x0 to 0x0, date = 11222004
parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP]
SCSI subsystem driver Revision: 1.00
inserting floppy driver for 2.4.21-47.0.1.EL
Floppy drive(s): fd0 is 1.44M
FDC 0 is an 82078.
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
PCI: Found IRQ 11 for device 00:0a.0
tulip0: EEPROM default media type 100baseTx-FDX.
tulip0: Index #0 - Media 100baseTx (#3) described by a 21140 non-MII (0) block.
tulip0: Index #1 - Media 100baseTx-FDX (#5) described by a 21140 non-MII (0) block.
divert: allocating divert_blk for eth0
eth0: Digital DS21140 Tulip rev 32 at 0xd08ba000, 00:03:FF:EB:E5:26, IRQ 11.
divert: freeing divert_blk for eth0
ip_tables: (C) 2000-2002 Netfilter core team
Linux Tulip driver version 0.9.15-pre12 (Aug 9, 2002)
PCI: Found IRQ 11 for device 00:0a.0
tulip0: EEPROM default media type 100baseTx-FDX.
tulip0: Index #0 - Media 100baseTx (#3) described by a 21140 non-MII (0) block.
tulip0: Index #1 - Media 100baseTx-FDX (#5) described by a 21140 non-MII (0) block.
divert: allocating divert_blk for eth0
eth0: Digital DS21140 Tulip rev 32 at 0xd08ba000, 00:03:FF:EB:E5:26, IRQ 11.
ip_tables: (C) 2000-2002 Netfilter core team
eth0: Using EEPROM-set media 100baseTx-FDX.
parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP]
lp0: using parport0 (polling).
lp0: console ready
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb.c: registered new driver serial
usbserial.c: USB Serial support registered for Generic
usbserial.c: USB Serial Driver core v1.4
audit subsystem ver 0.1 initialized
NETDEV WATCHDOG: eth0: transmit timed out
eth0: 21140 transmit timed out, status fc160000, SIA fffffe00 ffffffff ffffffff fffffec8, resetting...
eth0: transmit timed out, switching to 100baseTx-FDX media.