FreeBSD LAGG rc.conf

VMware Virtual Machine Hosting

This is what your rc.conf should contain to configure LAGG with FreeBSD:

### LAGG NFS Interface ###
ifconfig_bce3=”mtu 9000 up”
ifconfig_bce0=”mtu 9000 up”
cloned_interfaces=”lagg0″
ifconfig_lagg0=”laggproto roundrobin laggport bce3 laggport bce0″
ipv4_addrs_lagg0=”10.10.40.10/24″

Change the bce* interfaces to whatever your server is using for the network interfaces.

The “mtu 9000 up” is correct!

ZFS Replication on FreeBSD

VMware Virtual Machine Hosting

This script will replicate a ZFS pool to another FreeBSD machine. The sync process is quick, after the initial copy, and depending upon how much data changed.

Download this shell script: http://www.tediosity.com/zfsrep.sh

This script was written by another author for Solaris and I have fixed it to work on FreeBSD.

I chose to use: /root/zfsrep as the script location.

mkdir -p /root/zfsrep/zfsrep.snapshots
touch /root/zfsrep/zfsrep.log
cp zfsrep.sh /root/zfsrep/
vi zfsrep.sh and modify the e-mail address and location of the script (if you are not using /root/zfsrep)

Initial run:

/root/zfsrep/zfsrep.sh sinit nfs/datastore nfs/datastore 10.10.30.20

Subsequent runs:

/root/zfsrep/zfsrep.sh sync nfs/datastore nfs/datastore 10.10.30.20

Create a cronjob and forget about it.

If you make any changes, error fixes, or enhancements please e-mail them to me!! I love seeing other people’s creativity and putting their ideas to work in a production environment.

email: admin -at- tediosity.com

VMware Virtual Machine Hosting

Setup NIS + Red Hat + CentOS + Linux

VMware Virtual Machine Hosting

The following describes a procedure to set up NIS network name service under Red Hat Linux. This is geared toward a small intallation with only one domain. However, it should be fairly evident how to add more NIS domains. The NIS domain name has nothing to do with any DNS naming convention being used.

In these examples, the following conventions are used:
NIS domain: “internal”
Code or configuration file data: bold
Root prompt on NIS master server: master#
Root prompt on NIS client host: client#
Setting up a NIS master server:

yum install yp-tools ypbind ypserv portmap ntpd

Set up “ntpd” service or otherwise make sure the host’s clock is synchronized.
ntpdate pool.ntp.org
chkconfig ntpd on
/etc/init.d/ntpd start

Edit /etc/yp.conf:

domain internal server ip.of.nis.server

Edit /etc/ypserv.conf:

[The below settings are, by default, activated in CentOS config]
dns: no
files: 30
xfr_check_port: yes
* : * : shadow.byname : port
* : * : passwd.adjunct.byname : port

Edit /etc/sysconfig/network:

NISDOMAIN=”internal”

Set NIS domain name:

master# domainname internal
master# ypdomainname internal

Create file /var/yp/securenets:

host 127.0.0.1
255.255.255.0 10.0.0.0

Make sure the “portmap” service is running:

master# service portmap start
master# chkconfig portmap on

Edit File: /etc/nsswitch.conf

passwd: files nis
shadow: files nis
group: files nis

Start ypserv service:

master# service ypserv start

Check that it’s listening:

master# rpcinfo -u localhost ypserv

You should see:

program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

Initialize the NIS maps:

master# /usr/lib/yp/ypinit -m

Specify local hostname, Ctrl-D, y, let finish.

Start up ypbind, yppasswdd, ypxfrd:

master# service ypbind start
master# service yppasswdd start
master# service ypxfrd start

Set YP services to run on boot-up:

master# chkconfig ypserv on
master# chkconfig ypbind on
master# chkconfig yppasswdd on
master# chkconfig ypxfrd on

NIS client host setup

Required packages: yp-tools ypbind portmap

Edit /etc/sysconfig/network:

NISDOMAIN=internal

Edit /etc/yp.conf:

domain internal server ip.of.master.server

Edit /etc/hosts:

ip.of.master.server hostname.domain hostname

Set NIS domain-name:

client# domainname internal
client# ypdomainname internal

Edit /etc/nsswitch.conf:

passwd: files nis
shadow: files nis
group: files nis

Make sure the portmap service is running:

client# service portmap start
client# chkconfig portmap on

The /etc/hosts.allow file will need rules allowing access from localhost and the NIS master server.

Start ypbind service:

client# service ypbind start
client# chkconfig ypbind on

Test it out:

client# rpcinfo -u localhost ypbind
client# ypcat passwd

Dell 2970 – Crashes / Reboots

Error on screen:

HyperTransport error caused a system reset Embedded I/O Bridge Device 2

SEL will show:

Chipset Err: Critical Event Sensor PCI Err (BUS 0 Device 7 Function 0) was asserted

There is a discussion about it here (with no real solution):
http://en.community.dell.com/support-forums/servers/f/946/t/19281276.aspx

I replaced both power supplied with known good units from a Dell 2950. No effect.

My SEL was filled with these errors and, obviously, my server was rebooting frequently.

I noticed NO similarities or triggers. OS did not matter, CPU load did not matter, disk activity did not matter, etc etc.

 

THE SOLUTION THAT FIXED THIS ISSUE WAS A REPLACEMENT MOTHERBOARD FROM DELL.   THE ORIGINAL DESIGN IS CURSED.

VMware Virtual Machine Hosting

ZFS + List all snapshots

zfs list -t snapshot

Example Output:

nas1# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
nfs/datastore@rep-init-20110113013713 18K – 21K –
nfs/datastore@rep20110113013825 311M – 311M –
nfs/datastore@rep20110113015314 0 – 68K –

VMware Virtual Machine Hosting

ZFS NFS Export

Activate NFS on the pool:

zfs set sharenfs=on

Now restrict access by IP range:

zfs sharenfs=”-maproot=root -alldirs -network 10.10.40.0 -mask 255.255.255.0″

Verify using showmount:

nas1# showmount -e
Exports list on localhost:
/nfs/datastore 10.10.40.0
/nfs 10.10.40.0

VMware Virtual Machine Hosting