Archive for the 'Solaris' Category

static ipv6 address on solaris 10

This seems silly, but it took quite a while to get a static ipv6 address to configure itself properly on solaris ten.

There were loads of errors, mainly like

  • Failed to configure IPv6 interfaces(s): e1000g0
  • t_optmgmt: System error: Cannot assign requested address

If you read the various versions of the documentation, they suggest you add the following to /etc/hostname6.e1000g0

inet6 ipv6-address up
addif inet6 ipv6-address up
...

But this actually doesn’t seem to work. :-(

This seems to work though

bash-3.00$ cat /etc/inet/ndpd.conf
if-variable-name StatelessAddrConf false
bash-3.00$ cat /etc/hostname6.e1000g0
addif 2001:8e3:ee12:2::36/64 up
bash-3.00$

Putting inet6 into the hostname file seems to be the main issue, and it works just fine without it.

Interestingly, you still get the various address you would normally expect (local and global), so the static address will appear as a sub interface rather than an IP on the primary interface

$ /usr/sbin/ifconfig -a
lo0: flags=2002000849 mtu 8252 index 1
        inet6 ::1/128
e1000g0: flags=2000841 mtu 1500 index 2
        inet6 fe80::20c:23df:fe61:e321/10
e1000g0:1: flags=2000841 mtu 1500 index 2
        inet6 2001:8e3:ee12:2::36/64
e1000g0:2: flags=2080841 mtu 1500 index 2
        inet6 2001:8e3:ee12:2:20c:23df:fe61:e321/64
$

Giving a user permissions on zfs volume

The requirement is for a user to be able to create, mount, snapshot and destroy zfs volumes

The background to this is here

chmod A+user:backups:add_subdirectory:fd:allow /swamp/backups
zfs allow -ld backups create,destroy,snapshot,mount swamp/backups

Where backups is the user name, and /swamp/backups is the pool I want the to have permissions on

I can now see the permissions thus

bash-3.00# zfs allow swamp/backups
---- Permissions on swamp/backups ------------------------------------
Local+Descendent permissions:
        user backups create,destroy,mount,snapshot
bash-3.00#

Now to make sure it all works

 
bash-3.00$ id
uid=2000(backups) gid=2000(backups)
 
bash-3.00$ /usr/sbin/zfs list | grep swamp       
swamp                           126K  2.68T    23K  /swamp
swamp/backups                    24K  2.68T    24K  /swamp/backups
 
bash-3.00$ /usr/sbin/zfs create swamp/backups/oi 
bash-3.00$ /usr/sbin/zfs list | grep swamp      
swamp                           155K  2.68T    23K  /swamp
swamp/backups                    45K  2.68T    24K  /swamp/backups
swamp/backups/oi                 21K  2.68T    21K  /swamp/backups/oi
 
bash-3.00$ /usr/sbin/zfs snapshot  swamp/backups/oi@now
bash-3.00$ /usr/sbin/zfs list | grep swamp             
swamp                           156K  2.68T    23K  /swamp
swamp/backups                    45K  2.68T    24K  /swamp/backups
swamp/backups/oi                 21K  2.68T    21K  /swamp/backups/oi
swamp/backups/oi@now               0      -    21K  -
 
bash-3.00$ /usr/sbin/zfs destroy  swamp/backups/oi@now 
bash-3.00$ /usr/sbin/zfs destroy  swamp/backups/oi    
 
bash-3.00$ /usr/sbin/zfs list | grep swamp            
swamp                           128K  2.68T    23K  /swamp
swamp/backups                    24K  2.68T    24K  /swamp/backups

fdisk cannot stat USB disk on Solaris under VMware

I am trying to use a couple of USB attached disks on a solaris guest running on ESXi. The problem seems to be that fdisk can not modify the disk.

I can see the disk

bash-3.00# rmformat
Looking for devices...
     1. Volmgt Node: /vol/dev/aliases/rmdisk0
        Logical Node: /dev/rdsk/c3t0d0p0
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,0
        Connected Device: WDC WD10 EAVS-00D7B1      01.0
        Device Type: Removable
     2. Volmgt Node: /vol/dev/aliases/rmdisk1
        Logical Node: /dev/rdsk/c3t0d1p0
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,1
        Connected Device: WDC WD20 EADS-00S2B0      01.0
        Device Type: Removable
 bash-3.00#

But if I try and fdisk the disk

bash-3.00# fdisk  /dev/rdsk/c3t0d0p0
fdisk: Cannot open device /dev/rdsk/c3t0d0p0.
bash-3.00#

It took a while to find a solution, but as it turns out vold is the issue. The details are here

Basically you need to disable removable disks in vold

bash-3.00# /etc/init.d/volmgt stop

Then comment out this line in /etc/vold.conf

# use rmdisk drive /dev/rdsk/c*s2 dev_rmdisk.so rmdisk%d

Now start up vold again

bash-3.00# /etc/init.d/volmgt start

if you run rmformat now it looks a little different

bash-3.00# rmformat -l
Looking for devices...
     1. Logical Node: /dev/rdsk/c3t0d0s2
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,0
        Connected Device: WDC WD10 EAVS-00D7B1      01.0
        Device Type: Removable
     2. Logical Node: /dev/rdsk/c3t0d0p0
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,0
        Connected Device: WDC WD10 EAVS-00D7B1      01.0
        Device Type: Removable
     3. Logical Node: /dev/rdsk/c3t0d1p0
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,1
        Connected Device: WDC WD20 EADS-00S2B0      01.0
        Device Type: Removable
     4. Logical Node: /dev/rdsk/c3t0d1s2
        Physical Node: /pci@0,0/pci15ad,790@11/pci15ad,770@3/storage@1/disk@0,1
        Connected Device: WDC WD20 EADS-00S2B0      01.0
        Device Type: Removable

and you can now fdisk the disks

bash-3.00# fdisk /dev/rdsk/c3t0d0p0
             Total disk size is 60800 cylinders
             Cylinder size is 32130 (512 byte) blocks
 
 
                                               Cylinders
      Partition   Status    Type          Start   End   Length    %
      =========   ======    ============  =====   ===   ======   ===
          1                 Linux native      0  60800    60801    100