Hi George,
On Sat, Oct 27, 2012 at 6:01 PM, George Toft <
george@georgetoft.com> wrote:
> Spent several hours researching this one - can't find a solution. I hope
> someone here can hit me with a clue-by-four.
>
> CentOS 6.3 64-bit virtual running under VMware 2.0.2 fresh install with
> FTP/Samba/NFS running. I copied 500+GB of data from the old computer to
> the new one using NFS at full network speed (11+ MB/sec). Life's good.
>
> Now here it is a day later, and my samba write speed is a blazing 80KB/sec
> (up from 40KB/s when I started troubleshooting). I read samba should
> approach FTP speed and I verified it does - FTP writes to the new machine
> at about the same speed. Reads still take place a full speed (now it's on
> a 1Gbps network) - 33MB/sec. Writes . . . 99.8% slower. I did not have
> this problem on the previous samba server (CentOS 4.8 32-bit).
>
> I added memory (it now has 1GB RAM, 1 GB swap) and it has 2 CPU's. This
> had no effect.
>
> In summary, NFS works at full speed both ways. Samba/FTP are fast on
> reads but snail slow on writes.
>
> My next thought is to install ClearOS, test it, and copy their smb.conf.
> Or install CentOS 5.x and see if it has the same problems.
>
> Any ideas where to look on this one? smb.conf necessary.
>
> --
> Regards,
>
> George Toft
Microsoft 7 uses smb 2.2, btw --> protocol step down might add to the lag?
What is your smb version on each node? CIFS clients?
http://www.codefx.com/CIFS_Explained.htm
A given client and server may implement different sets of protocol
variations which they negotiate before starting a session.
There are a great many considerations for this problem:
0) Samba in VMware:
http://www.vmware.com/support/ws45/doc/network_samba_ws.html
1) Active .vs Passive FTP:
http://www.youtube.com/watch?v=bqrlBicM8lE
2) Disk type:
Dynamically allocated VMware virtual disks are extremely slow with writes.
Huge virual disks over say 300 gb are also really really slow for writes.
Raid 5 or greater on VVware is also extremely slow with writes, depending
on the version of VMware.
3) What kind of network are you using?
By default there are three virtual networks created on a VMware server.
They are: VMnet0 – Bridged VMnet1 – Host-only VMnet8 – NAT
4) Networking UDP packets for SMB:
SMB uses UDP which is a connection-less protocol. In other words it simply
broadcasts.
UDP uses a simple communication model without implicit transmission checks
for guaranteeing reliability, sequencing, or datagram integrity. Though
these factors might seem to suggest that UDP is not a useful protocol, it
is still widely used in particular areas where speed, more than
reliability, is of utmost importance. With UDP, error checks and
corrections are carried out in the communicating application, not at the
network layer. However, if error checks and corrections are needed at the
network layer, the application can use Transmission Control Protocol (TCP)
or Stream Control Transmission Protocol (SCTP), which are specifically
formulated for this reason. Since UDP does not have the overhead of
checking whether the data has reached the destination every time it is
sent, it makes the protocol that much faster and more efficient. UDP is
often used for time sensitive applications where missing data is preferred
to late arriving data.
UDP packets can also create broadcast storms (NFS 3), therefore it's not
suggested that SMB or older NFS3
5) Putting it all together: Using Samba for File Sharing on a Host-only
Network
On a Linux host computer, VMware ESX Server can automatically install and
configure a Samba server to act as a file server for Microsoft Windows
guest operating systems. You can then use Windows Explorer in the virtual
machine to move and copy files between virtual machine and host — or
between virtual machines on the same network — just as you would with files
on physical computers that share a network connection.
The lightly modified Samba server installed by VMware ESX Server runs over
the VMware ESX Server virtual Ethernet and the Samba traffic between
different operating systems is isolated from actual local area networks.
The source code diffs for the changes, based on Samba 2.0.6, are available
from VMware.
Adding User Names and Passwords to the VMware ESX Server Samba Password File
You may add user names and passwords to the VMware ESX Server Samba
password file at any time from a terminal window on your Linux host
computer.
1. Log in to the root account by typing the following command at the
prompt:
su
2. Run the VMware ESX Server Samba password command.
vmware-smbpasswd vmnet1 -a <username>
where <username> is the user name you want to add.
3. Follow the instructions on the screen.
*Note:* vmware-smbpasswd is based on the standard Samba password
program. If you are familiar with the options used in smbpasswd, you may
use any of them in vmware-smbpasswd.
4. Log out of the root account.
exit
If you receive an error message that says Unknown virtual interface
"vmnet1", this indicates your machine is not using the VMware ESX Server
Samba server. If your installation of VMware ESX Server does not include
the VMware ESX Server Samba server and you want to set it up, log in to the
root account on your host computer, then run vmware-config.pl from a
terminal window on the host. When the configuration script asks Do you want
this script to automatically configure your system to allow your virtual
machines to access the host file system?, answer Yes.
If You Are Already Running Samba
If you already have Samba configured on your Linux host, the recommended
approach is to modify that configuration so it includes the IP subnet used
by the VMware ESX Server virtual Ethernet adapter, VMnet1. In this case,
you should *not* install the VMware ESX Server Samba server when you are
installing VMware ESX Server on your host. When the configuration script
prompts you Do you want this script to automatically configure your system
to allow your virtual machines to access the host file system?, answer No.
To determine what subnet is being used by VMnet1, run /sbin/ifconfig vmnet1.
It may also be possible to run both your existing Samba server and the
VMware ESX Server Samba server at the same time. In order to do this, your
current Samba server must be version 2.0.6 or higher and must be configured
correctly.
To determine the version of your Samba server, run
smbd -V
Tool for evaluation:
http://visualsniffer.software.informer.com/
References:
http://chrissanders.org/2011/11/packet-carving-with-smb-and-smb2/
It's probably going to be best for you to upgrade to ESXi 5 (requires
specific hardware - see the compatibility list at VMware).
--
(503) 754-4452 Android
(623) 239-3392 Skype
(623) 688-3392 Google Voice
**
it-clowns.com
Chief Clown
---------------------------------------------------
PLUG-discuss mailing list -
PLUG-discuss@lists.plug.phoenix.az.us
To subscribe, unsubscribe, or to change your mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss