Wiki:packages/ndas

Network Direct Attached Storage (NDAS) ist ein proprietäres System zur Anbindung externer Speichermedien wie Festplatten, Flash-Speicher oder Bandlaufwerke an ein Netzwerk. Die Patente für NDAS hält die amerikanische Firma Ximeta. [1]

Da Ximeta seinen Linux Support eingestellt hat hier die original Anleitung. Die Links darin funktionieren nicht mehr.

1. Using NDAS driver

Register the NDAS device

You can find NDAS "ID" and NDAS "key" from the the bottom of the NetDisk.

If your NDAS ID (20 characters) and NDAS key (5 characters) are

  ID: AF7R2-2MKK4-UHG9S-5RHTG
  KEY: 8QT6U

then execute the following commands as root (in most systems it will be sufficient to type # ndasadmin... rather than full # /usr/sbin/ndasadmin...)

/usr/sbin/ndasadmin register <NDAS ID>-<NDAS key> --name <NetDisk Name to be>
or
/usr/sbin/ndasadmin register <NDAS ID>-<NDAS key> -n <NetDisk Name to be>

vis:

/usr/sbin/ndasadmin register AF7R2-2MKK4-UHG9S-5RHTG-8QT6U --name MyDisk
or
/usr/sbin/ndasadmin register AF7R2-2MKK4-UHG9S-5RHTG-8QT6U -n MyDisk

Please note that 'MyDisk' is any name named by you.
Sucessful registering means NOT the Disk ist reached sucessful via Network!
You will get the numeric slot number(s) for each disk on the NetDisk by

cat /proc/ndas/devices/MyDisk/slots

check the status of the NetDisks, if you can't get the slot number from commands above.

cat /proc/ndas/devs
Name            ID                     Key Serial           Ver Status         Slots
MyDisk01        ABCDEFGHIJKLMNO*****   Yes 00800000         1   Online         1
MyDisk02        ABCDEFGHIJKLMNP*****   Yes 00800001         1   Offline

If the Status is "Offline" make sure the NetDisk turns on and is attached in the same network.

Enable the NDAS device

To enable the NetDisk, please type the following commands:

Use the numeric slot number that you get from /proc/ndas/devices/MyDisk/slots. If you get '1' as the slot number from /proc/ndas/devices/MyDisk/slots then, execute one of the following command with root privilege.

/usr/sbin/ndasadmin enable -s 1 -o w   # exclusive write and read mode

/usr/sbin/ndasadmin enable -s 1 -o r   # read-only mode

/usr/sbin/ndasadmin enable -s 1 -o s   # for GFS/OCFS2 file system

This command will print out the path of the block device file. For example,

/dev/nda, /dev/ndb, /dev/ndas-001000001-0.

Your NetDisk will then have to be partitioned and/or formatted if not already.

Partition and file system on the NDAS device

To partition or format, please do the following:

WARNING: All data will be erased.

partition

fdisk /dev/nda (fdisk <path of the block device file> see output of ndasadmin enable),
* use p to show the current partition table
* use n to create a new partion

format

use for example:

mkfs -t ext2 /dev/nda1
or
mkfs.ext3 /dev/ndas-08019896-0p1 -L ndas_disc1
...

where /dev/ndas-08019896-0 is the path of the block device file and p1 stands for partion 1
(just check the output of fdisk -l /dev/ndas-08019896-0)
The option -L lables the partition as ndas_disc1

Your NetDisk is now ready for use!

Reading Partitions on already formatted NDAS device & mounting

  • try
blkid

which should give all partition information for your entire Linux system, including the NDAS device. This is very useful if you already have multiple partitions on your NDAS device. You then need to

mount -t <filesystem> <device name> <mount directory>

in normal way.

  • If the disk is formatted other than NDAS mode, there is a possibility that partitions may not be accessed. This is because NDAS reserves some data from the end of disk. You need to format again in NDAS mode.
  • If you don't have "blkid" on your system, try "ls /dev/nd*", or "cat /proc/partitions"

Automatic User Mounting

These commands may differ slightly for your particular configuration.

Once your Netdisk drivers are properly setup, create a mount point for the device:

# mkdir /mnt/netdisk

Under Ubuntu distrobutions, it's best to put this point in /media, rather than /mnt, for conformity. You may name the point anything you like.

Next, locate the device.

$ ls /dev/ndas*
/dev/ndas  /dev/ndas-00110749-0  /dev/ndas-00110749-0p1

The drive itself, in this example, is at /dev/ndas-00110749-0. The primary (and only, in this case) partition is /dev/ndas-00110749-0p1.

Determine the format of the disk

# fdisk -l /dev/ndas-00110749-0

Disk /dev/ndas-00110749-0: 160.0 GB, 160039788544 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

                Device Boot      Start         End      Blocks   Id  System
/dev/ndas-00110749-0p1               1       19457   156288321    b  W95 FAT32

In this example, it is a FAT32 drive.

Next, back up and add this information to your /etc/fstab file

# cp /etc/fstab /etc/fstab.backup
# nano /etc/fstab

You may use any text editor you like in place of nano.

At the end of this file, add the information for your netdisk. The basic format for a line is DEVICE LOCATION FORMAT OPTIONS DUMP PASS. For our example, we have a netdisk at /dev/ndas-00110749-0p1. We want it mounted at /mnt/netdisk. The format of the netdisk is vfat. For options, we want to use the defaults, allow users to mount it, and to not mount it automatically at boot. We don't need dump or pass for anything. The line we'd add is:

/dev/ndas-00110749-0p1 /mnt/netdisk vfat defaults,user,noauto 0 0

Save the file, and exit your editor.

Now, any user on this machine should be able to mount the netdisk with this command:

$ mount /mnt/netdisk

We've specified all the other information about the device in /etc/fstab, so no more is required.

Due to how and when the device drivers and /etc/fstab load, setting the device to automatically mount in /etc/fstab usually does not work. You'll need to either set a boot time cron job, add it to your X session startup, etc. This is outside the scope of this wiki, please see your system documentation for further information on this.

Additional Commands for the NDAS device

To disable the NetDisk:

/usr/sbin/ndasadmin disable -s 1

Note: disable is to make the NetDisk to be disconnected from the Linux machine. especially it will release the exclusively write permission and the other Linux / MS Windows machine can gain the exclusive write permission.

To Unregister the NetDisk

/usr/sbin/ndasadmin unregister --name MyDisk

Note: 'unregister' is to delete the registration so that the NetDisk is not registered in the next booting of Linux machine.

Note: The name 'MyDisk' should be the parameter you set on 'register' command.

Please refer to README as the original document.

2. Using NDAS harddisk array

  • Add how to use the NDAS harddisks with Linux Software RAID
  • Add how to use the NDAS hard disks with XIMETA RAID
  • Add how to use the NDAS hard disks with Linux LVM

3. Share the data/files on the NDAS hard disks

NDAS on WINDOWS apparently supports simultaneous r/w from multiple machines on the LAN. I could not find any documentation explaining if this is only true for partitions formated as FAT or NTFS, or for any file system, but for the moment I'll assume that this fiture does not depend on the filesystem. Since a Windows ext3 driver exists, this could be used for sharing the data between windows and Linux machines. Alternativelz, Linux can also access NTFS, but last time I checked (long ago), r/w support was poor…

Unfortunately, the Linux version of the driver does not support the simultanous r/w from multiple machines. An NDAS partition can only be mounted r/w from ONE linux machine at a time, the rest of the machines may only use it in ro mode. The only exceptions are the shared filesystems such as GFS and OCFS2. A simple GFS configuration is shown in this Wiki. I just checked the documentation, and unfortunately neither OCFS2 noe GFS drivers for windows exist. So in short, there is no way to simultanously mount any filesystem in r/w mode on both Linux and Windows machines. This is so sad. :-(

  • How to share the NDAS hard disk with GFS
  • How to share the NDAS hard disk with FAT32 file system
  • How to share the NDAS hard disk with OCFS2
  • Add how to share the NDAS hard disk with NTFS
For example type on the command line:

mount -t ntfs-3g /dev/ndas-00611109-0p1 /mnt/windows  < -o force >

Or add the option to the relevant row in the /etc/fstab file:

/dev/ndas-00611109-0p1 /mnt/windows ntfs-3g defaults 0 0
  • Add how to share the NDAS hard disk with ext2/3

4. NDAS robustnes?

I wondered how robust the NDAS protocol, host device and linux driver are… The result of the small test I just did is not so good as I hoped:

  • Mount the ndas partition on my linux host in rw mode (ext3 partition)
  • Start a copy operation on a large file
  • Turning the NDAS device by pressing the power off button
  • Turning the NDAS device on again.

Result: The file transfer stopped while the device was offline, and then resumed on its own as soon as the NDAS device came online again. Unfortunately, the file was corrupted in the end. On a bright side, this is still better than linux hangup.

Referenzen

[1] Wikipedia Seite zu NDAS