Total Pageviews

Thursday, August 5, 2010

Zpooling continued

Now that I have a working mirror again, I will 'repair' the failed disk:

# ls -l /media/Lexar/zfs-testbed/
total 3145729
-rwxrwxrwx 1 root root 512 2010-08-04 14:46 disk1
-rwxrwxrwx 1 root root 1073741824 2010-08-05 08:35 disk2
-rwxrwxrwx 1 root root 1073741824 2010-08-05 08:35 disk3
-rwxrwxrwx 1 root root 1073741824 2010-08-04 14:01 disk4

# rm /media/Lexar/zfs-testbed/disk1

# mkfile 1g /media/Lexar/zfs-testbed/disk1

# ls -l /media/Lexar/zfs-testbed/
total 4194304
-rwxrwxrwx 1 root root 1073741824 2010-08-05 08:48 disk1
-rwxrwxrwx 1 root root 1073741824 2010-08-05 08:45 disk2
-rwxrwxrwx 1 root root 1073741824 2010-08-05 08:45 disk3
-rwxrwxrwx 1 root root 1073741824 2010-08-04 14:01 disk4
#

Now time to add in the two 'spare disks' to the mirror:

# zpool add clifford mirror /media/Lexar/zfs-testbed/disk1 /media/Lexar/zfs-testbed/disk4

I'll use a different command to take a look at the mirror:

# zpool iostat -v clifford
capacity operations bandwidth
pool used avail read write read write
---------------------------------- ----- ----- ----- ----- ----- -----
clifford 150K 1.98G 0 0 1 826
mirror 120K 1016M 0 0 1 823
/media/Lexar/zfs-testbed/disk2 - - 0 0 62 878
/media/Lexar/zfs-testbed/disk3 - - 0 0 41 878
mirror 29.5K 1016M 0 0 0 565
/media/Lexar/zfs-testbed/disk1 - - 0 0 319 31.4K
/media/Lexar/zfs-testbed/disk4 - - 0 0 319 31.4K
---------------------------------- ----- ----- ----- ----- ----- -----

#

Wednesday, August 4, 2010

Creation of zpool

A while back I created a zpool. since I didn't have unused disks lying around, I used a 32 GB usb drive. I created four files to be treated as separate disks so that I could create a zpool and mirror disks. Although this would not really offer the protection of mirroring, it did allow me to become familiar with zpools and zfs filesystems, though I had previously created a ZFS filesystem on a spare disk.

The first thing I did was create the four disk files. The USB drive was mounted as /media/Lexar. I then created a sub-directory called 'zfs-testbed'. I "cd'd" to it and created the files:

mkfile 1g /media/Lexar/zfs-testbed/disk1
mkfile 1g /media/Lexar/zfs-testbed/disk2
mkfile 1g /media/Lexar/zfs-testbed/disk3
mkfile 1g /media/Lexar/zfs-testbed/disk4

That created four 1 GB files.

Next I created a zpool consisting of the one 'dive' :

zpool create gregory /media/Lexar/zfs-testbed/disk1

zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
gregory 1016M 73K 1016M 0% ONLINE -
rpool 148G 17.1G 131G 11% ONLINE -
zfs-ramos 148G 12.4G 136G 8% ONLINE -

Then I destroyed the pool, so I could create a mirror:

zpool destroy gregory

zpool create clifford mirror /media/Lexar/zfs-testbed/disk1 /media/Lexar/zfs-testbed/disk2


zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
clifford 1016M 74.5K 1016M 0% ONLINE -
rpool 148G 17.1G 131G 11% ONLINE -
zfs-ramos 148G 12.4G 136G 8% ONLINE -


Now I intentionally destroy the label:

dd if=/dev/random of=/media/Lexar/zfs-testbed/disk1 bs=512 count=1

zpool status
pool: clifford
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-4J
scrub: scrub completed after 0h0m with 0 errors on Wed Aug 4 14:47:35 2010
config:

NAME STATE READ WRITE CKSUM
clifford DEGRADED 0 0 0
mirror DEGRADED 0 0 0
/media/Lexar/zfs-testbed/disk1 UNAVAIL 0 0 0 corrupted data
/media/Lexar/zfs-testbed/disk2 ONLINE 0 0 0


Now detach the bad disk:

zpool detach clifford /media/Lexar/zfs-testbed/disk1


Attach a new 'disk':

zpool attach clifford /media/Lexar/zfs-testbed/disk2 /media/Lexar/zfs-testbed/disk3

# zpool status clifford
pool: clifford
state: ONLINE
scrub: resilver completed after 0h0m with 0 errors on Wed Aug 4 14:55:33 2010
config:

NAME STATE READ WRITE CKSUM
clifford ONLINE 0 0 0
mirror ONLINE 0 0 0
/media/Lexar/zfs-testbed/disk2 ONLINE 0 0 0
/media/Lexar/zfs-testbed/disk3 ONLINE 0 0 0 85K resilvered

errors: No known data errors


Here I rebooted to complete the process. After the reboot:

zpool status clifford
pool: clifford
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
clifford ONLINE 0 0 0
mirror ONLINE 0 0 0
/media/Lexar/zfs-testbed/disk2 ONLINE 0 0 0
/media/Lexar/zfs-testbed/disk3 ONLINE 0 0 0

errors: No known data errors

Monday, June 14, 2010

Created first zone of home Solaris box

I installed Solaris at home, actually Opensolaris, to try out a few things. I've already set up ZFS, so now onto Zones. I found a example to set up a zone a followed, to a 'T'. In using the IP address in the example, it caused the zone to be setup on another subnet, so that had to be rectified. I wanted to change the ip address in the zone to 10.1.1.220. These were the steps:

Prior to the creation of the Zone, I needed a place to put it. I needed a directory:

#Mkdir /coolpool/web-zone

Also unless the correct permissions are set on the directory, you will get a lot of error messages. The correct permissions are:

#chomd 700 /coolpool/web-zone

zonecfg -z web-zone

zonecfg:web-zone> add net

zonecfg:web-zone:net> set physical=afe0

zonecfg:web-zone:net> set address=10.1.1.220

zonecfg:web-zone:net> set defrouter=192.168.1.1

zonecfg:web-zone:net> end

zonecfg:web-zone> verify

zonecfg:web-zone> commit

zonecfg:web-zone > exit

Then booted zone from host:

zoneadm -z web-zone boot

Then zlogin and finish the install:

zoneadm -C console

Wednesday, June 2, 2010

Opensolaris

I purchased a quad-core Acer M5641 to run Solaris, Rocks, and other OSes on. I could never bring up Solaris, I decided to try another machine. I had an old Dell and Solaris came up right away, but since it was old, everything was slow. So I looked around the Hardware Compatibility List (HCL) and couldn't afford any of them. I asked the compatibility question of one os the Solaris email list and people recommended an entry level Dell server. By the time I had decided to purchase the Dell I wanted, it had been discontinued, so I settled on a Dell Poweredge T105. I had been warned that the network interface might be a problem. After several unsuccessful attempts, I went into the BIOS and disabled the network interface. Once I had Solaris installed, I looked around for a NIC. I had an unused card, installed it, and the network came up.

The T105 came with two internal drives. I had initially thought about mirroring the root disk, probably using dd, since they were identical. Instead I set it up as a separate partition using a ZFS filesystem on it. With that I was able to setup a snapshots on the filesystem. I'd like to set up dedupe on it as well, just to get an idea of how well it works.

Thursday, April 1, 2010

Continuing on with BLFS

I had previously bypassed the discussion of the X11 install. I can remember the first time I set up X11, a long time ago. It literally took days to compile. Of course I had a slow processor and not much memory. Today's installation has been changed. No longer is it one big package, instead X11 is compiled and installed in sections. There is the installing of the X11 headers. There's the X11 libraries of which there are eighteen. There are X11 utilities like imake to be built. There are X11 applications, fonts, bitmaps, themes, and configurations, and finally the X server. At this point I had enough built to open up an xterm remotely.
I've continued to work on BLFS. I tried numerous things to try and get the USB ports to work. Ultimately someone provided me with a boot line they found in a Ubuntu group, where people were experiencing the same problem. That didn't actually fix my USB ports, but it did allow me to use the old PS/2 input for my keyboard. A subsequent fix, gave me access to the serial port for the mouse. I then installed Fluxbox, a lightweight windows manager. With that, and the installation of GPM, a had a functioning desktop environment.
BTW, GPM is a software package for mouse support in Linux, but of course I need to compile and installed Fluxbox to get to the point where I could use a mouse. So, FB gave me windows, but the standard desktop is sort of bland. I needed to find a nicer looked desktop and that is where 'styles' come into play.

Monday, March 15, 2010

What LFS is

LFS is a building of a Linux system from the ground up. One must start with a working system and a working compiler. My machine is an Acer M5641, quad-core, 4 gigs on memory. LFS is written to be built on a 32-bit machine, but there are notes along the way to let you know what you must do to build it on a 64-bit machine like mine.

The Acer was originally running Centos 5.4 before I started on LFS. I just used a separate partiton to build it on. I had trouble getting it to boot off this, so I eventually moved everything over to a small disk and its first partition so the Grub2 could easily recognize it. Once that was done, I was able to proceed.

A second problem I had was getting the USB ports on the Acer to work. Not surprised I've had numerous compatibility problems with the Acer. I originally purchased it to run Solaris on. The built in SATA controller gave me problems. Solaris didn't see the drives. I had other issues in trying to set up a ROCKs Cluster when using it as a frontend. So in the end I just put Centos on it.

To get around the USB port problem, I installed SSH and DHCP. I had a small wireless router that could dish out address, so I used it. I brought up another box running Fedora 12 and from it ssh'ed into the LFS box so that I could proceed with BLFS.


LFS consists of 59 packages, download in the form of tarballs. Any of the packages that require a patch has the necessary patch listed with the instructions to compile the package. Packages for LFS are compiled and installed in the order that they are needed. If the order is followed all the requirements to install a package will be in place. The building of LFS is a three pass operation. The first pass uses the existing system to build enough of an OS that a chrooted environment can be created. Once the first pass is created, the chroot takes place and then each previous package is recompiled so the it cab be linked the the libraries in the chrooted system. Additional packages are made during the second pass. Finally boot scripts are installed and the actual system is booted up. The last item is some housekeeping to make it a usable, bare bone system without a lot of the software you might not use in an off the shelf distributuion.

BLFS allows one to customize your system so that it can be a web server or maybe just a desktop linux machine.

Brownwraps building of Linux From Scratch

I started building Linux From Scratch about a month ago, February 1, 2010. I am actually working on BLFS, or Beyond Linux From Scatch now, so I am getting a late start on my blog