transfer.txt 2006.04.04 Transferring data to DVDs. Method A (Current) 1. vs1:/srv/frames --> client:mkisofs --> vs1:/srv/frames 2. vs1:/srv/frames --> client:ftp --> //elijah/images 3. d:\images --> elijah --> d:\cache 4. d:\cache --> elijah --> DVDR Method B 1. vs1:/srv/frames --> client:mkisofs(smbmount) --> //elijah/images 2. d:\images --> elijah --> d:\cache 3. d:\cache --> elijah --> DVDR Method C 1. vs1:/srv/frames --> client:mkisofs --> vs1:/srv/frames 2. \csbcore\srv_frames\ --> elijah --> d:\cache 3. d:\cache --> elijah --> DVDR Step 1 for methods A and C could be improved by making the ISO images onto an otherwise unused disk on vs1. Methods A and B could be improved by moving cache to drive C on elijah. Notes on method A: Times for mkisofs step: 02:29 (30.0MB/s) /srv/frames -> /dev/null 02:35 (26.9MB/s) /srv/frames -> /usr/temp (local) 07:07 ( 9.8MB/s) /srv/frames -> /srv/frames (varies considerably) 04:46 (14.6MB/s) /srv/frames -> /bck/temp If we stay with method A, we should allow run-time specification of the ISO location. Times for ftp step: 02:01 (34.4 MB/s) /usr/temp -> elijah 02:01 (34.4 MB/s) /bck/temp -> elijah 02:41 (25.8 MB/s) /srv/frames/temp -> elijah In a production test, total time for a full DVD was 8:20. Using a local filesystem it should be possible to cut that to below 5:00. Notes on method B: 1. smbmount must be run as root 2. when //elijah/images is mounted as root, users don't have write access 3. with default options, there is a 2GB max filesize. 4. speed for step 1 is about 3.5MB/s or about 20 min for a DVD Notes on method C: With /srv/temp available on elijah's network neighborhood, it took less than 4 minutes to copy a 4165MB file from /srv/temp to D:\images on elijah. --------------------------------------- Confinguring samba server on ds1 for access by elijah With our default settings, the samba server requires a username/password On ds1, we modify /usr/local/samba/lib/smb.conf, adding: [isofiles] comment = ISO files for burning on elijah image server path = /srv/frames/temp browseable = yes writeable = no guest ok = yes guest account = nfsnobody guest only = yes hosts deny = ALL hosts allow = 172.29.2.251 127.0.0.1 Differences from standard entries: Allow and specify guest accounts disallow write access only from elijah [root@ds1 lib]# /etc/init.d/smb restart Doesn't work. From windows machine, we are asked for username/password. ---------------------------------------- Testing configuration on locksmith /etc/samba/smb.conf: [global] workgroup = core netbios name = locktest server string = locksmiths test server hosts deny = ALL EXCEPT 172.29.2. 172.29.1. 127.0.0.1 log file = /var/log/samba/smbd.log security = share socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 bind interfaces only = yes interfaces = 172.29.2.175/255.255.0.0 127.0.0.1 local master = no dns proxy = no template shell = /bin/false winbind use default domain = no [spare] comment = spare on locksmith path = /spare/music browseable = yes writeable = no public = yes guest ok = yes guest account = nfsnobody guest only = yes hosts deny = ALL hosts allow = 172.29. 127.0.0.1 with this configuration, under the core workgroup, we see the locktest server, containing (spare), which can be read from elijah and from core computers. So, now we try: smb.conf: [global] workgroup = core netbios name = lockmusic netbios aliases = locksuse smb ports = 139 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 bind interfaces only = yes interfaces = 172.29.2.175/255.255.0.0 127.0.0.1 log file = /var/log/samba/smbd.log max log size = 50 local master = no dns proxy = no include = /etc/samba/smb-%L.conf smb.conf-lockmusic [global] server string = music server security = share [music] comment = music on locksmith path = /spare/music browseable = yes writeable = no public = yes guest ok = yes guest account = nfsnobody guest only = yes hosts deny = ALL hosts allow = 172.29. 127.0.0.1 smb.conf-locksuse -- same except for server string = suse server [suse] comment = suse on locksmith path = /spare/opensuse Now, clients ask for username/password. It seems that security in the master file must default to "user", and global stuff in individual files is ignored. ------------------------------------------ Set up ring4 as a samba server for ISO images ring4:/etc/samba # mkdir /mnt/csb0/images ring4:/etc/samba # chmod 777 /mnt/csb0/images ring4:/etc/samba # cp smb.conf smb.conf.nc ring4:/etc/samba # cat > smb.conf [global] workgroup = core netbios name = ISOserver server string = ISOs for burning on DVD robot hosts deny = ALL EXCEPT 172.29.2.151 127.0.0.1 log file = /var/log/samba/smbd.log # # use share instead of users, to allow anonymous access security = share large readwrite = Yes socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 bind interfaces only = yes interfaces = 172.29.1.243/255.255.0.0 127.0.0.1 local master = no dns proxy = no template shell = /bin/false winbind use default domain = no [images] comment = ISO images path = /mnt/csb01/images browseable = yes writeable = no public = yes guest ok = yes guest only = yes hosts deny = ALL hosts allow = 172.29.2.151 127.0.0.1 (note we must start both smb and nmb) ring4:/etc/samba # /etc/init.d/smb start ring4:/etc/samba # /etc/init.d/nmb start This works. On elijah, manually copied 1.1GB file from \\Isoserver\images to d:\images at 17.7MB/s. (about 1min/GB). ------------------------------------------- testing ring4 as ISO server: Export /mnt/csb01/images to locksmith, cormorant, coot, albatross: ring4:/etc # vi exports ring4:/etc # exportfs -a cormorant# mount -t nfs -o rw,nfsvers=3,hard,udp,async,intr \ ring4:/mnt/csb0/images /srv/images cormorant> mkdir /srv/images/perlo cormorant> time cp stuff-20060404-1237-01.iso /srv/images/perlo (4.1GB/507s = 8.1MB/s, multiple nfs retransmits). albatross> time cp stuff-20060404-1237-01.iso /srv/images/perlo (4.1GB/501s = 8.2MB/s, multiple nfs retransmits). ------------------------------------------------- Timing for 1 DVD 4165MB: Method 1 mkisofs frames->frames 412s ftp frames->\\elijah\d 145s download \d->cache 180s burn 540s print 80s total: 22:37 Method 1a (estimated) mkisofs frames->/usr 155s ftp /usr->\\elijah\d 120s download \d->cache 180s burn 540s print 80s total: 17:55 method 2 mkisofs frames->ring4 240s download ring4->cache 180s burn 540s print 80s total: 17:20 Setup time (buildit) for multiple disks: Method 1: 9:17 Method 1a: 4:35 Method 2: 4:00 test of buildit using method 2 /srv/frames/daniels/IQN17_iPrOH3 5x4.4GB + 1x1.8GB 00:00 0:00 start setup and label generation 00:20 0:20 start mkiso for DVD_01 04:30 4:10 start mkiso for DVD_02 09:07 4:37 start mkiso for DVD_03 13:34 4:27 start mkiso for DVD_04 18:07 4:33 start mkiso for DVD_05 22:39 4:32 start mkiso for DVD_06 25:03 2:22 finished test of buildit using method 1a /srv/frames/daniels/IQN17_iPrOH3 00:26 0:26 setup files and generate labels 02:25 2:09 mkiso for DVD_01 05:28 2:51 finish ftp for DVD_01 07:37 2:02 mkiso for DVD_02 1:55 finish ftp for DVD_02 2:13 mkiso for DVD_03 2:10 finish ftp for DVD_03 2:05 mkiso for DVD_04 2:04 finish ftp for DVD_04 2:12 mkiso for DVD_05 23:43 3:05 finish ftp for DVD_05 0:46 mkiso for DVD_06 25:20 0:45 finish ftp for DVD_06 -------------------------------------- Raw notes: Alternate possibilities vs1 fileserver elijah /srv/frames ----Drive D:-------------- | ^ ^ | / \(dvd burning software)| v (smbmount) (mkisofs) linux client This does not work for several reasons: 1. Could not run smbmount as other than root 2. if root smbmounts //elijah/images, users cannot write to it 3. smb filesystem seems to have a 2GB limit, too small for DVD ISOs. 4. it took 9 minutes for half a DVD -- no speed advantage. Summary of time for mkisofs command, running on cormorant, creating a 4.2GB ISO, with cormorant on a 100Mb link! 20 min. /srv/frames -> /elijah/images 3.5MB/s 10 min. /srv/frames -> /srv/frames 6.9MB/s 6.5 min. /srv/frames -> /usr/temp (local) 10.7MB/s 6.5 min. /srv/frames -> /dev/null 10.7MB/s cormorant# mount vs1:/bck/bck/temp /bck/temp Move cormorant to 1Gb link: min. /srv/frames -> /eljah/images 07:07 ( 9.8MB/s) /srv/frames -> /srv/frames 04:46 (14.6MB/s) /srv/frames -> /bck/temp 02:35 (26.9MB/s) /srv/frames -> /usr/temp (local) 02:29 (30.0MB/s) /srv/frames -> /dev/null FTP from cormorant (1Gb) to elijah: 02:01 (34.4 MB/s) /usr/temp -> elijah 02:01 (34.4 MB/s) /bck/temp -> elijah 02:41 (25.8 MB/s) /srv/frames/temp -> elijah FTP from albatross (1Gb) to elijah: 02:26 (28.4 MB/s) /srv/frames/temp -> elijah Actual production run on albatross: DVD01: mkisofs /srv/frames -> /srv/frames (4164 MB) in 417 seconds 10.0MB/s ftp (32909 Kbytes/sec) (elapsed time: 125.1 secs) for 96.5% of file DVD02: mkisofs /srv/frames -> /srv/frames (2215 MB) in 229 seconds 10.0MB/s ftp (26558 Kbytes/sec) (elapsed time: 80.2 secs) (93.9%) With /srv/temp available on elijah's network neighborhood, it took less than 4 minutes to copy a 4165MB file from /srv/temp to D:\images on elijah. ------ we can mount /elijah/images, but it is owned by whoever mounts it: cormorant# mkdir -p /elijah/images cormorant# smbmount //elijah/images /elijah/images -o username=administrator Password: cormorant> ls -ld /elijah/images drwxr-xr-x 1 root root 4096 2006-04-04 12:00 /elijah/images/ cormorant# umount /elijah/images Created user account "rimage" on elijah cormorant# vi /etc/elijah.images.cred cormorant# chmod 644 elijah.images.cred cormorant# cat elijah.images.cred username = rimage password = burnit cormorant# ls -l /usr/bin/smbmount -rwxr-xr-x 1 root root 817260 Nov 11 13:25 /usr/bin/smbmount chmod +s /usr/bin/smbmount cormorant# ls -l /usr/bin/smbmount -rwsr-sr-x 1 root root 817260 Nov 11 13:25 /usr/bin/smbmount cormorant# smbmount //elijah/images /elijah/images \ -o credentials=/etc/elijah.images.cred cormorant# time mkisofs -input-charset iso8859-1 -D -r -J -graft-points \ -o /elijah/images/stuff-20060404-1237-01.iso \ -path-list /srv/frames/temp/perlo/stuff-20060404-1237-01.lst After 9 minutes, it was 48% complete, failed with Filesize limit exceeded (core dumped) Tried same command on cormorant with target on /srv/frames: time mkisofs -input-charset iso8859-1 -D -r -J -graft-points \ -o /srv/frames/temp/perlo/stuff-20060404-1237-01.iso \ -path-list /srv/frames/temp/perlo/stuff-20060404-1237-01.lst time: 10 minutes. time mkisofs -input-charset iso8859-1 -D -r -J -graft-points \ -o /usr/temp/stuff-20060404-1237-01.iso \ -path-list /srv/frames/temp/perlo/stuff-20060404-1237-01.lst