Configure UTM 220 LCD panel under Linux
I had the task of rebuilding an Astaro UTM 220 with CentOS and the LCD panel looked so lifeless, So I decided to restore it to some version of functional! From my research I can see that the display is LCM-162 and utilises the lcd driver HD44780.
In a nut shell here is what I did:
- Download LCDproc (http://lcdproc.omnipotent.net/)
- Modify: lcdproc-0.5.6/server/drivers/hd44780-ext8bit.c
Change:
#define RS STRB #define RW LF #define EN1 INIT
To:
#define RS SEL #define RW INIT #define EN1 LF
- compile it with option: ‘./configure –enable-drivers=hd44780′
- make && make install
- Modify: /usr/local/etc/LCDd.conf
Change:
- Line 53: Driver=hd44780
- Line 502: ConnectionType=8bit
- Line 509: Device=/dev/parport0
- Line 544: Size=16×2
Test it:
LCDd -f -r 4 -c /usr/local/etc/LCDd.conf &
lcdproc -f -s localhost -p 13666 C M L
If it works its just a matter of copying: scripts/init-LCDd.rpm and scripts/init-lcdproc.rpm to /etc/init.d and configuring chkconfig properly.
Hopefully that helps.
How to mount dd images under Linux
For a raw filesystem try:
fdisk -l harddrive.img mount -o ro,loop,offset=xxxxxxxxx harddrive.img /mnt/loop
or for filesystems with volume groups etc try:
losetup /dev/loop0 disk.img kpartx -a /dev/loop0
Then to mount the first partition:
mount /dev/mapper/loop0p1 /mnt
Or to activate the volume group then mount the logical volume:
vgscan vgchange -ay vg mount /dev/vg/lv /mnt
Hope that helps.
Convert ESXi v6 VMDK to ESXi v5 VMDK
I recently tried to copy a VMDK from ESXi version 6.0 to another server which was version 5.0 It failed the first time due to the virtual hardware being version 11, which isn’t supported on ESXi 5.0.
The next thing I tried, was to copy a VMDK across, that got added to the new virtual machine with no problems but when I attempted to boot the VM I received the following error:
An unexpected error was received from the ESX host while powering on VM vm-622. Module DevicePowerOn power on failed. Unable to create virtual SCSI device for scsi0:1, '/vmfs/volumes/54813a47-8d0eedcc-43c8-001e0bd161d0/yubikey/Yubi-0.vmdk' Failed to open disk scsi0:1: Unsupported or invalid disk type 7. Ensure that the disk has been imported.
I knew that it would be a problem and the solution was a simple one. Having recently migrated 40 KVM based VM’s to ESX, I was quite familiar with vmkfstools. To make the VMDK bootable perform the following:
vmkfstools -d zeroedthick -i server.INPUT.vmdk server.OUTPUT.vmdk
Then attach server.OUTPUT.vmdk as the new virtual harddrive.
Clear Infortrend iSCSI SAN ‘ATTEN’ Light
Via the webconsole, click: Event, then read all the events, while taking note of them and actioning them as required.
Finally click: Clear All Events
How to measure IOPS with linux
So many times I need to measure the amount of IOPS on a Linux disk/storage system. While there are many tools for the jobs they just don’t seem to give you a ‘number’. For example Splunk indexers require 1200+ IOPS according to hardware recommendation guides but how do you find out if your any where close to that number? Use ‘bonnie++’, ‘iozone’ or perhaps ‘fio’? Well use any of those tools will create the type of read / write sequence you would like to replicate - but where the damn magic number???
Easiest two ways are:
Method #1:
run iozone -a (or bonnie++) in one screen then in another session / terminal use nmon, pressing D (capital D) to get disk stats and get the number from the Xfers column. This is your magic number (or IOPS reading)
┌nmon─14i─────────────────────Hostname=reddragon─────Refresh= 2secs ───19:51.57─ │ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─ │DiskName Busy Read Write Xfers Size Peak% Peak-RW InFlight │sda 99% 699.9 14.0KB/s 178.0 4.0KB 493% 3658.8KB/s 1 │sda1 0% 0.0 0.0KB/s 0.0 0.0KB 0% 0.0KB/s 0 │sda2 99% 699.9 14.0KB/s 178.0 4.0KB 493% 3658.8KB/s 1 │dm-0 0% 0.0 0.0KB/s 0.0 0.0KB 0% 0.0KB/s 0 │dm-1 99% 699.9 14.0KB/s 178.5 4.0KB 494% 3658.8KB/s 1 │dm-2 0% 0.0 0.0KB/s 0.0 0.0KB 76% 2553.5KB/s 0 │Totals Read-MB/s=2.1 Writes-MB/s=0.0 Transfers/sec=534.4
In the above example I’m getting about 178 IOPS for my disk ’sda’
Method #2:
run fio with the correct workload (google how to use fio) and while it’s running it will actually tell you the IOPS.
[root@reddragon ~]# fio random-read-test.fio random-read: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1 fio-2.0.13 Starting 1 process Jobs: 1 (f=1): [r] [85.1% done] [736K/0K/0K /s] [184 /0 /0 iops] [eta 00m:28s]
In this example I am getting 184 IOPS. Also if you wait until fio finishes it run - you can the IOPS reading from there. Eg.
random-read: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1 fio-2.0.13 Starting 1 process Jobs: 1 (f=1): [r] [98.9% done] [2224K/0K/0K /s] [556 /0 /0 iops] [eta 00m:02s] random-read: (groupid=0, jobs=1): err= 0: pid=7239: Tue Feb 25 16:49:16 2014 read : io=131072KB, bw=747406 B/s, iops=182 , runt=179578msec clat (usec): min=107 , max=117530 , avg=5473.62, stdev=4112.08 lat (usec): min=107 , max=117531 , avg=5473.93, stdev=4112.08 clat percentiles (usec): | 1.00th=[ 245], 5.00th=[ 302], 10.00th=[ 370], 20.00th=[ 2480], <SNIP>
As you can see: iops=182 - pretty consistent with the other results!