How to Update Openfiler iSCSI Storage Appliance

openfilerThis quick post will show you two method to update the Openfiler appliance. On the previous post, i have describes in details on how to setup and configure Openfiler iSCSI Storage. Openfiler is an Open Source Network Attached Storage and Storage Area Network Solution.

1. First method to update the Openfiler is from terminal or ssh session. Login as a root to Openfiler iSCSI Storage Appliance. If Internet access is available: Test connectivity to the Internet by pinging conary.rpath.com (the online source for Openfiler updates) as below :

[root@storage01 ~]# ping conary.rpath.com
PING conary.rpath.com (208.82.215.41) 56(84) bytes of data.
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=0 ttl=52 time=395 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=1 ttl=52 time=402 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=2 ttl=52 time=403 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=3 ttl=52 time=408 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=4 ttl=52 time=405 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=5 ttl=52 time=409 ms
64 bytes from conary.rpath.com (208.82.215.41): icmp_seq=6 ttl=52 time=408 ms

If Internet access is available: Update the Openfiler installation by typing conary updateall and pressing Enter.

Note: It will take quite a few minutes for the updates to be downloaded and applied.

[root@storage01 ~]# conary updateall

Examples :

[root@storage01 ~]# conary updateall
Resolving dependencies...Performing critical system updates, will then restart update.
Applying update job 1 of 2:
    Update  conary:data (2.0.35-0.1-1 -> 2.1.9-0.1-1)
Applying update job 2 of 2:
    Update  conary:python (2.0.35-0.1-1 -> 2.1.9-0.1-1)
    Update  conary:runtime (2.0.35-0.1-1 -> 2.1.9-0.1-1)
Critical update completed, rerunning command...
Applying update job 1 of 24:
    Install info-vcsa(:user)=1-1-0.1
Applying update job 2 of 24:
    Install info-nagios(:user)=0-1-0.1
Applying update job 3 of 24:
    Update  acl(:doc :lib :locale :runtime) (2.2.47_1-0.1-1 -> 2.2.47_1-0.2-1)
    Update  aoe6(:doc :runtime) (64-1-1 -> 64-2-1)
    Install arecacli(:runtime)=v1.82_81103-1-3
    Update  attr(:doc :lib :locale :runtime) (2.4.41_1-0.1-1 -> 2.4.43_1-0.1-1)
Applying update job 4 of 24:
    Update  binutils(:doc :lib :locale :runtime) (2.17.50.0.6-7-0.0.1 -> 2.17.50.0.6-7-0.0.2)
    Update  conary (2.0.35-0.1-1 -> 2.1.9-0.1-1)
    Update  curl(:doc:lib:runtime) (7.15.3-1.1-1 -> 7.15.3-1.4-1)
    Update  cyrus-sasl(:lib) (2.1.21-5.2-1 -> 2.1.21-5.3-1)
    Install ddless(:doc :runtime)=1.3-1-1
Applying update job 5 of 24:
    Update  dhclient(:lib :runtime) (3.0.2-2.2-1 -> 3.0.7-0.4-1)
    Update  e2fsprogs(:data :doc :lib :locale :runtime) (1.40.8-0.2-1 -> 1.41.8-0.1-1)
    Update  ethtool(:doc :runtime) (/conary.rpath.com@rpl:devel//1/3-2-0.1 -> /conary.rpath.com@rpl:devel//2//openfiler.rpath.org@ofns:2/6-0.0.1-1)
    Update  gzip(:runtime) (1.3.5-4-0.1 -> 1.3.5-4.1-1)
Applying update job 6 of 24:
    Update  hwdata(:data :doc) (0.217-1.0.2-1 -> 0.225-0.0.2-1)
    Install hwdata:runtime=0.225-0.0.2-1
    Update  icu(:data :lib) (3.4-5.1-1 -> 3.4-5.2-1)
    Update  initscripts(:doc :locale :runtime) (8.12-8.18.4-1 -> 8.12-8.18.5-1)
    Install iperf(:doc :runtime)=2.0.4-1-0.1
Applying update job 7 of 24:
    Install iscsi-scst(:doc :runtime)=r1462-2-1
    Update  iscsi_trgt(:doc :runtime) (0.4.17-1-1 -> 1.4.19-2-1)
    Install kernel(:build-tree :configs :runtime :vmware)=2.6.29.6-0.24-1[~!kernel.pae,~kernel.smp]
Applying update job 8 of 24:
    Update  krb5(:config :data :doc :lib :runtime) (1.4.1-7.9-1 -> 1.4.1-7.10-1)
    Update  krb5-server(:config :doc :runtime) (1.4.1-7.9-1 -> 1.4.1-7.10-1)
    Update  krb5-services(:config :doc :runtime) (1.4.1-7.9-1 -> 1.4.1-7.10-1)
Applying update job 9 of 24:
    Update  krb5-workstation(:doc :runtime) (1.4.1-7.9-1 -> 1.4.1-7.10-1)
    Update  kudzu(:python :runtime) (1.1.116.2-3.6-1 -> 1.1.116.2-3.6-2)
    Update  lighttpd(:doc :lib :runtime) (1.4.20-0.1-1 -> 1.4.20-0.3-1)
    Update  lshw(:data :doc :runtime) (02.07-1.0.2-1 -> 02.14-0.0.1-1)
Applying update job 10 of 24:
    Install lsof(:doc :runtime)=4.75-3-0.1
    Update  module-init-tools(:doc :runtime) (/conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/3.1-5.3.1-2 -> /conary.rpath.com@rpl:devel//2//openfiler.rpath.org@ofns:2/3.4-2.0.2-1)
    Update  myri-firmware(:doc :lib :runtime) (v1.4.29-1-1[is: x86] -> 1.4.48b-1-1)
Applying update job 11 of 24:
    Update  net-snmp(:data :doc :lib :perl :runtime) (5.4.1-5.0.2-1 -> 5.4.1-5.3.1-1)
    Update  net-snmp-client(:data :doc :lib :runtime) (5.4.1-5.0.2-1 -> 5.4.1-5.3.1-1)
    Update  net-snmp-server(:data :doc :runtime) (5.4.1-5.0.2-1 -> 5.4.1-5.3.1-1)
Applying update job 12 of 24:
    Update  nfs-client(:doc :runtime) (1.0.10-4.6-1 -> 1.1.4-2.4-1)
    Update  nfs-server(:doc :lib :runtime) (1.0.10-4.6-1 -> 1.1.4-2.4-1)
    Update  nfs-utils(:doc :runtime) (1.0.10-4.6-1 -> 1.1.4-2.4-1)
    Update  open-iscsi(:doc :runtime) (/conary.rpath.com@rpl:devel//1/2.0_865-1.1-1 -> /conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/2.0_871-0.0.1-1)
    Update  openssh(:runtime) (4.9p1-0.1-1 -> 5.3p1-0.3-1)
Applying update job 13 of 24:
    Update  openssh-client(:doc :runtime) (4.9p1-0.1-1 -> 5.3p1-0.3-1)
    Update  openssh-server(:doc :runtime) (4.9p1-0.1-1 -> 5.3p1-0.3-1)
    Update  openssl(:config :data :lib :runtime) (0.9.7f-10.13-1[is: x86(~!i686)] -> 0.9.7f-10.16-1[is: x86(~!i686)])
Applying update job 14 of 24:
    Update  parted(:doc :lib :locale :runtime) (1.6.22-4.1.5-1 -> 1.6.22-4.1.6-1)
    Update  pciutils(:doc :runtime) (2.1.99-12-0.1 -> 2.2.3-7.1-1)
    Update  python(:lib :runtime) (2.4.1-20.17-1 -> 2.4.1-20.18-1)
    Update  qla-firmware(:lib :runtime) (/conary.rpath.com@rpl:devel//1/20070416-4-0.1[is: x86] -> /conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/2010205-0.0.1-1)
    Install qla-firmware:doc=2010205-0.0.1-1
Applying update job 15 of 24:
    Update  samba(:data :lib :runtime) (3.2.7-0.0.1-3 -> 3.4.5-0.0.1-1)
    Update  samba-client(:lib :runtime) (3.2.7-0.0.1-3 -> 3.4.5-0.0.1-1)
    Update  samba-server(:runtime) (3.2.7-0.0.1-3 -> 3.4.5-0.0.1-1)
    Update  scstadmin(:doc :perl :runtime) (1.0.0.x-5-1 -> r1411-1-1)
Applying update job 16 of 24:
    Update  sendmail(:doc :lib :runtime) (8.13.7-0.3-1[sasl] -> 8.13.7-0.4-1[sasl])
    Update  strace(:doc :perl :runtime) (4.5.12-2-0.1 -> 4.5.18-0.1-1)
    Install traceroute(:doc :runtime)=1.4a12-4-0.1
    Install userspace-kernel-firmware(:runtime)=2.6.29.6-0.24-1[~!kernel.pae,~kernel.smp]
Applying update job 17 of 24:
    Install autodir(:doc :lib :runtime)=0.99.9-2-1
    Install xfsdump(:doc :runtime)=3.0.1-0.0.1-1
    Update  xfsprogs(:doc :lib :runtime) (/conary.rpath.com@rpl:devel//1/2.6.25-4-0.1 -> /conary.rpath.com@rpl:devel//2//openfiler.rpath.org@ofns:2/3.0.1-0.0.2-1)
    Install xfsprogs:locale=3.0.1-0.0.2-1
Applying update job 18 of 24:
    Install autofs(:doc :lib :runtime)=4.1.4-5-0.1
    Update  bind(:lib) (9.3.4_P1-0.7-1[ipv6,~!pie,ssl] -> 9.4.3_P5-1.1-1)
    Update  bind-utils(:doc :runtime) (9.3.4_P1-0.7-1[ipv6,~!pie,ssl] -> 9.4.3_P5-1.1-1)
    Erase   device-mapper:doc=1.02.24-2-1
    Erase   device-mapper:runtime=1.02.24-2-1
    Update  lvm2:doc (2.02.34-1-1 -> 2.02.47-1-1)
Applying update job 19 of 24:
    Install device-mapper-multipath:lib=0.4.8-0.3-1
    Update  drbd(:doc :lib :runtime) (8.2.7-2-1[~!xen] -> 8.3.7-1-1)
    Install drbd:data=8.3.7-1-1
    Install drbdlinks(:doc :lib :runtime)=1.18-3-1
    Install libaio(:lib)=0.3.106-3-0.1
    Update  lvm2:lib (2.02.34-1-1 -> 2.02.47-1-1)
Applying update job 20 of 24:
    Erase   device-mapper(:lib)=1.02.24-2-1
    Update  device-mapper-multipath(:doc :runtime) (0.4.7-1.1-1 -> 0.4.8-0.3-1)
    Update  lvm2(:runtime) (2.02.34-1-1 -> 2.02.47-1-1)
    Install man:lib=1.6-5.1.1-1
    Erase   man:locale=1.6-5-0.1
    Update  nut(:data :doc :runtime) (2.2.0-5-1 -> 2.2.2-5-1)
    Install nut:lib=2.2.2-5-1
[initscript] Stopping clvm:[FAILED]

Applying update job 21 of 24:
    Install nagios-plugins(:runtime)=1.4.10-1.1-1
    Install nrpe(:doc :runtime)=2.12-4.1-1
    Install postgresql(:lib)=8.1.19-0.1-1
    Install udev:lib=116-4.2.6-1
    Install util-linux-ng:data=2.16-0.0.3-1
Applying update job 22 of 24:
    Update  man(:doc :runtime) (/conary.rpath.com@rpl:devel//1/1.6-5-0.1 -> /conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/1.6-5.1.1-1)
    Update  mkinitrd(:doc :runtime) (4.2.15-16.13.6-2 -> 4.2.15-16.13.9-1)
    Update  ntp(:runtime) (4.2.4p6-1.1-1 -> 4.2.4p7-0.1-1)
    Update  openfiler:runtime (r1584-3-1 -> r1653-1-1)
    Update  shadow:runtime (/conary.rpath.com@rpl:devel//1/4.0.7-14.3-1 -> /conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/4.0.7-14.3.1-1)
    Update  udev:runtime (/conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/069-5.4.1-1[~!selinux] -> /conary.rpath.com@rpl:devel//2-devel//openfiler.rpath.org@ofns:2/116-4.2.6-1)
    Install util-linux-ng-extras:runtime=2.16-0.0.3-1
    Install util-linux-ng:config=2.16-0.0.3-1
    Install util-linux-ng:runtime=2.16-0.0.3-1
    Erase   util-linux:runtime=2.12r-1.6-1
[openfiler] changing group /etc/shadow

[openfiler] Stopping openfiler: [  OK  ]

[openfiler] Starting openfiler: [  OK  ]

[openfiler] enabling / starting default services

[openfiler]

[openfiler] Shutting down Winbind services: [FAILED]

[openfiler] Starting Winbind services: [  OK  ]

[openfiler] Stopping portmapper: [  OK  ]

[openfiler] Starting portmapper: [  OK  ]

[openfiler] Stopping NFS statd: [  OK  ]

[openfiler] Starting NFS statd: [  OK  ]

[openfiler] Stopping atd: [  OK  ]

[openfiler] Starting atd: [  OK  ]

[openfiler] disabling nscd service

[openfiler] Stopping nscd: [FAILED]

Applying update job 23 of 24:
    Update  openfiler(:doc) (r1584-3-1 -> r1653-1-1)
    Update  shadow (/conary.rpath.com@rpl:devel//1/4.0.7-14.3-1 -> /conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/4.0.7-14.3.1-1)
    Install shadow:doc=4.0.7-14.3.1-1
    Install shadow:locale=4.0.7-14.3.1-1
    Update  udev(:data :doc) (/conary.rpath.com@rpl:devel//1//openfiler.rpath.org@ofns:2/069-5.4.1-1[~!selinux] -> /conary.rpath.com@rpl:devel//2-devel//openfiler.rpath.org@ofns:2/116-4.2.6-1)
    Erase   util-linux(:data)=2.12r-1.6-1
    Install util-linux-ng=2.16-0.0.3-1
    Install util-linux-ng-extras(:doc :supdoc)=2.16-0.0.3-1
Applying update job 24 of 24:
    Update  group-core (2.3-16-4[~!kernel.pae,~kernel.smp,~proftpd.auth_pam,~proftpd.ifsession,~proftpd.ipv6,~proftpd.rewrite,~proftpd.tls,sasl is: x86(~!sse2)] -> 2.3-36-3[~!kernel.pae,~kernel.smp,~proftpd.auth_pam,~proftpd.ifsession,~proftpd.ipv6,~proftpd.rewrite,~proftpd.tls,sasl is: x86(~!sse2)])
    Update  group-openfiler (2.3-16-4[~!kernel.pae,~kernel.smp,~proftpd.auth_pam,~proftpd.ifsession,~proftpd.ipv6,~proftpd.rewrite,~proftpd.tls,sasl is: x86(~!sse2)] -> 2.3-36-3[~!kernel.pae,~kernel.smp,~proftpd.auth_pam,~proftpd.ifsession,~proftpd.ipv6,~proftpd.rewrite,~proftpd.tls,sasl is: x86(~!sse2)])

Reboot the Openfiler appliance :

[root@storage01 ~]# shutdown -r now

2. You also can do update from Openfiler GUI as below :

Login to Openfiler GUI –> Select the System tab –> Click System Update –> Finally click Launch system update.
openfiler16

How to Setup and Configure Openfiler iSCSI Storage on VMware

This post describes on how to setup and configure hosted Openfiler iSCSI storage target on a VMware ESX/ESXi or VMware server 1.x or 2.x host using the freely available Openfiler appliance. However this configuration and setting not a suitable solution for a production environment as it does not include any iSCSI CHAP authentication or datastore multipathing. But it’s good for troubleshooting and learning. Openfiler is an Open Source Network Attached Storage and Storage Area Network Solution.

Pre-Requisites :

  • a. VMware ESX/ESXi/Server 2.0/Vmware workstations/VMware player as a host with a minimum of 5GB of free space on the local datastore.
  • b.Addional Space for extra logical volume on Openfiler iSCSI Storage (e.g dev/sdb)
  • c.Openfiler appliance source file. (e.g openfiler-2.3-x86_64.vmware.tar.gz) You may download at this URL :
    http://www.openfiler.com/community/download/
  • Disk /dev/sdb (30GB) has been added as below :
[root@storage01 ~]# fdisk -l

Disk /dev/sda: 2355 MB, 2355978240 bytes
16 heads, 63 sectors/track, 4565 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        4565     2300696   83  Linux

Disk /dev/sdb: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        3917    31457279+  ee  EFI GPT

TCP/IP Configuration :

The procedure detailed below is based on the following configuration. Openfiler appliance assigned the hostname and TCP/IP configuration details:

HOSTNAME=storage01
IPADDR=192.168.1.56
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
nameserver 202.188.0.133
nameserver 202.188.1.5

Steps and Procedure on How to Setup and Configure Openfiler iSCSI Storage :

1. Extract the contents of the downloaded Openfiler tar.gz file (one .vmx file and two .vmdk files) into a directory, the name of which reflects the hostname you wish to use for the Openfiler appliance (example: storage01).

2. Login to ESXi/ESX/VMware Server/Vmware Workstation console, add extracted Openfiler tar.gz file to inventory.

3. Skipped this step on VMware Server 1.x, VMware Server 2.x and VMware Workstation. In ESXi/ESX server edit the Openfiler appliance settings and add a second disk of the size determined.(example: 30GB).

4. Modify the vCPU and Memory setting to meet your requirement.

5. Power on the Openfiler appliance. By default, the Openfiler appliance will attempt to obtain an IP address via DHCP, but best practice is to assign a static Ip address and this such configuration is typically done via the Openfiler web interface. On the Screen capture, hostname and static ip address has been assigned as below :

HOSTNAME=storage01
IPADDR=192.168.1.56

openfiler1

6. Logon to the console as root. By default, no root password is set so you will not be prompted. Set a root password by entering the command passwd, pressing Enter and following the prompts.

Note: A password must be set in order to permit a remote root login from a SSH client.

[root@dhcp01 ~]# passwd
Changing password for user root.
New UNIX password:

7. Browse to https:/DHCP_IP_Address:446, or to the IP address if not using DNS, and ignore the certificate warning. Logon to the Openfiler web interface with the default administrator. Username openfiler and default Password password.

Note: The default administrative port number is 446.

openfiler2

8. To Change to static IP, Select the System tab then scroll down to the “Network Interface Configuration” click “Configure“. On the Network Interface Configuration”, change default Boot Protocol, DHCP to Static for eth0. Then Enter the IP Address, Netmask and leave default for MTU.

openfiler3

9. To configure network range allowed, select the System tab and scroll down to the “Network Access Configuration” section. Define the allowed networks that accept connections from Openfiler appliance. You also can specify individual host IP addresses and ranges. Click Update after entering each set of details.

openfiler4

10. To add the the new logical disk select the Volumes tab and click the Block Devices link. Confirm the presence of disk /dev/sdb.

Please note that the isk /dev/sda is the disk that Openfiler is running on; /dev/sdb is the second disk that was added and that will be provisioned as iSCSI storage.

openfiler7

Click the /dev/sdb link and scroll down to the Create a partition in /dev/sdb section. By default, a partition will be created that fills the entire disk. Accept the defaults and click Create.

Openfiler8

11. To add volume Group,select the Volumes tab. Click the Volume Groups link and enter a Volume Group name “datagroup” (the name is not critical), select /dev/sdb1 (30GB) and click Add volume group.
openfiler9

12. To Create a volume in “datagroup“, select the Volumes tab. Click the Add Volume link. The only existing volume group of volumegroup (datagroup) will be selected by default. Scroll down to the Create a volume in “volumegroup” section. Enter a Volume Name of volume (the name is not critical), a Volume Description of vmware (the description is not critical), adjust the required Space slider up to the maximum, select a Filesystem/Volume type of iSCSI and click Create.
openfiler10

13. This steps is to enable iSCSI target and disable iSCSI initiator. Select the Services tab. Click the Enable link adjacent to iSCSI target server. Click the Disable link adjacent to iSCSI initiator.

openfiler11

14. To Add new iSCSI target, select the Volumes tab and click the iSCSI Targets link from the Volumes Section menu. Modify the auto-generated Target IQN to include the Openfiler name (iqn.2012.openfilerlab1.local in this example) and click Add.

openfile12

Then select the LUN Mapping sub-tab and click Map to map the previous defined volume as a LUN to the newly created iSCSI target (accepting all the defaults).

openfiler13

Finally, select the Network ACL sub-tab and change the Access from Deny to Allow. Click Update.

openfiler14

15. Congratulation!! Now the iSCSI target is accessible to any iSCSI requester on the permitted network/s or IP addresses.