BigBlueButton - Open source web conferencing system

Logo

Looks great will be testing this week.

For the viewer, BigBlueButton supports

* Joining the asterisk-based voice conference from within the client (using a built-in SIP phone)
* Chat with other users (including private chat)
* See the presenter’s slide and cursor
* Share a video stream (webcam) with other participants

For the presenter, BigBlueButton supports

* Uploading slides (PDF or any office document supported by Open Office & MS Office)
* Muting or ejecting listeners from the voice conference
* Sharing their desktop (yes, even on Linux)

XenServer + DRBD (Update 5) Failover Process

James White from the Citrix Forum (This Thread) asked for a video of VM failover if the Pool Master dies, This was part of my testing to I will add the guide.

Very impressed by how well it works!!!

See the DRBD install guide for my setup.

So the Pool Master has failed and is unrecoverable - all your VM's are down - how to get them backup and running.

SSH onto a pool member (This will act as your new Pool Master)

- Convert your Member to a Master

$ xe pool-emergency-transition-to-master

- Recover connections to other member servers. (If Any)

$ xe pool-recover-slaves

- Verify the pool management has been restored

$ xe host-list

- Show the list of Pool members

$ xe host-list params=uuid,name-label,host-metrics-live

- Show the VM's from the Failed Server - You will see their state as "Running"

$ xe vm-list is-control-domain=false resident-on=UUID_of_failed_server

- Reset the powerstate for all VM's

$ xe vm-reset-powerstate resident-on=UUID_of_failed_server --force --multiple

Now all VM's will be visable on XenCenter - Login to the Member server IP (The new Master) and Start your VM's

------------------

When you recover the old Master simply boot it up and recover the DRBD replication

restart DRBDon both servers

$ /etc/init.d/drbd restart

$ drbdadm -- --overwrite-data-of-peer primary drbd-sr1 (On the New Master server)

$ drbdadm primary drbd-sr1 (On the Old Master)

Let me know how it works for you.

Cheers, Joe

Monitoring 3ware Raid card using 3dm2 on XenServer

the solution/trick was to use the version 9.4.0.1 of the 3dm2 tool, which seems to be the last version without need of JRE. You should download it from http://www.3ware.com/support/downloadpage.asp.

After untar'ing it you need to change an line in the file "install.3dm":

Original: cat /etc/redhat-release | grep -i 'hat' > /dev/null
New/Replace: cat /etc/redhat-release | grep -i 'xenserver' > /dev/null

Now you can execute that file:
# ./install.3dm -i

Handy tip to install the 3DM2 web gui on XenServer

DRBD + 10gig network

my intel cards are the supermicro aoc-stg-i2. i can't find the card on supermicro site any more but it is very similar to the aoc-utg-i2 which is still listed. both just use the 82598EB chip. only difference is the form factor.
my chelsio cards are the N320E-CXA.mike

Just ordered 2x Chelsio N320E 10Gig Cards for the production DRBD setup - Interesting that the Intel cards dont play nice with DRBD.

XenServer + DRBD (Update 4) The Guide

drbd guide

*** Is you are using XenSever 5.6 FP1 please see http://joekane.eu/xenserver-56-fp1-drbd-working first.

Here is the DRBD + XenServer install guide, Any issues post a comment and I'll try my best to resolve.

###### DRBD + Xenserver Guide: JoeKane.eu ########

Create DRBD RPM for installation on XenServer

Download the Driver Development Kit (ISO) from http://www.citrix.com/lang/English/lp/lp_1688621.asp
Mount or Extract the ISO and import using XenCenter - Be sure to select XML as file type
$ mkdir /drbd/
$ cd /drbd/
$ wget http://oss.linbit.com/drbd/8.3/drbd-8.3.7.tar.gz
$ tar drbd-8.3.7.tar.gz
$ cd /drbd-8.3.7
$  ./configure --enable-spec --with-km
$ make tgz
$ cp drbd*.tar.gz `rpm -E _sourcedir`
$ rpmbuild -bb drbd.spec
$ rpmbuild -bb drbd-km.spec

RPM is located in /usr/src/redhat/RPMS/i386/

See: http://www.drbd.org/users-guide/s-build-rpm.html

If you want to skip this step I have attached the RPM's needed!

Download RPM's:

DRBD 8.3.7 + XenServer 5.5 U2 RPM: http://bit.ly/dmvv0g

DRBD 8.3.7 + XenServer 5.6 Beta RPM: http://bit.ly/9hHNEt

DRBD 8.3.7 + XenServer 5.6 Final RPM: http://bit.ly/diYtbY

DRBD 8.3.8.1 + XenServer 5.6 Final RPM: http://bit.ly/cNboke

If you are using XenSever 5.6 FP1 please see http://joekane.eu/xenserver-56-fp1-drbd-working first.

---------------------------------------------------------------------------

Install XenServer 5.5 U2 on each server – Don’t configure local storage - Connect the servers together using a crossover cable.
My setup has 1x 80GB drive for XenServer install and 1x 250GB drive for the DRBD storage

1.    Install DRBD (Both Servers)

Copy drbd-km-2.6.18_128.1.6.el5.xs5.5.0.505.1024xen-8.3.7-12.i386.rpm & drbd-utils-8.3.7-1.i386.rpm to your XenServer /tmp directories – Use Winscp for this

$ rpm -ivh drbd-utils-8.3.7-1.i386.rpm
$ rpm -ivh drbd-km-2.6.18_128.1.6.el5.xs5.5.0.505.1024xen-8.3.7-12.i386.rpm

2.     Configure another Management Nic's for each XenServer

The IP addresses I’m using are 10.1.1.1 & 10.1.1.2 (255.255.255.0 netmask)

3.    Fdisk the Drives (Both Servers)
Be sure to configure your Drive using Fdisk, you can see your partition table using
$ Fdisk –l
I won’t go into too much detail here; fdisk is very easy to use, in my setup I have the 250GB as /dev/sda and a single partition /dev/sda1

4.    Configure DRBD (Both Servers)

 Nano /etc/drbd.conf

# ----------------------
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example

#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";

resource drbd-sr1 {
protocol C;
startup {
}

disk { max-bio-bvecs 1;
}

net {
allow-two-primaries;
cram-hmac-alg "sha1";
shared-secret "password";
after-sb-0pri discard-zero-changes;
after-sb-1pri consensus;
after-sb-2pri disconnect;
}

syncer {
rate 1G;
}

on xenserver-drbd1 {
device /dev/drbd1;
disk /dev/sda1;
address 10.1.1.1:7789;
meta-disk internal;
}
on xenserver-drbd2 {
device /dev/drbd1;
disk /dev/sda1;
address 10.1.1.2:7789;
meta-disk internal;
}
}
# --------------------

4. Configure Notifications in case of Split brain. (Both Servers)

nano /usr/lib/drbd/notify.sh

# Add to the bottom of the file

esac

#echo "$BODY" | mail -s "$SUBJECT" $RECIPIENT
HOST_UUID=`xe host-list --minimal`
xe message-create body="$BODY" host-uuid=$HOST_UUID name=DRBD_ATERT priority=10

#I also changed the "BODY" message because it was received empty.

case "$0" in
*split-brain.sh)
SUBJECT="DRBD split brain on resource $DRBD_RESOURCE"
BODY=" Split brain detected, Manual split brain recovery is necessary! "
# BODY="
#DRBD has detected split brain on resource $DRBD_RESOURCE
#between $(hostname) and $DRBD_PEER.
#Please rectify this immediately.
#Please see http://www.drbd.org/users-guide/s-resolve-split-brain.html for details on doing so."
;;

-------------------------------

5.    Allow port 7788 through Iptables (Both Servers)

Get your interface alias using $ ifconfig

(Thanks Sam)

Ifconfig


-------------------------------
$ iptables -I INPUT 1 -i xenbr2 -p tcp --dport 7788:7799 -j ACCEPT
$ /etc/init.d/iptables save
-------------------------------

6.    Configure LVM to see your Drive (Both Servers)

nano /etc/lvm/lvm.conf

# By default we accept every block device:

Add your block device "r|/dev/sda.*|" to the filter,

e.g. filter = [ "r|/dev/xvd.|", "r|/dev/sda.*|" ]

#Set the write cache state to 0 default is 1

write_cache_state = 0

---------------------------------

7. Remove LVM Cache (Thanks PF4)

rm -f /etc/lvm/cache/.cache

--------------------------------


8.    Create Xenserver pool using XenCenter

---------------------------------

9.    Enable DRBD Storage and Replicate

On both XenServers execute the following

$ drbdadm create-md drbd-sr1
$ modprobe drbd
$ drbdadm up drbd-sr1

Now ONLY on the XenServer that will be your primary

$ drbdadm -- --overwrite-data-of-peer primary drbd-sr1
$ cat /proc/drbd

After Full Sync - Make pool secondary drbd primary "$ drbdadm primary drbd-sr1"

$ cat /proc/drbd will not show Primary:Primary

10.    Create Storage Repository

$ xe sr-create shared=true device-config:device="/dev/drbd1" name-label="DRBD-SR1" type=lvm

$ chkconfig drbd on (on both XenServers)

That’s it - install your VM’s and test VM migration.
Any Questions post a comment.

Thanks go to,
Florian Haas from linbit.com (The Makers of DRBD): http://fghaas.wordpress.com/2007/09/03/drbd-806-brings-full-live-migration-fo...
Natanael Mignon of http://natanael-mignon.blogspot.com/ - Gave the starting steps to get everything working.
Citrix for providing XenServer and the Citrix Forums
Loads of website related to DRBD configs and the DRBD Mailing list.

*** Small Update - Dont forget to add the names of your servers to /etc/hosts using your crossover IP addresses

Siemens Hipath HG1500 to Asterisk FreePBX

This info came from Achmad Taufik who was kind enough to share the setup, should make it alot easier for anyone integrating the siemens hipath HG1500 with Asterisk.

If you want to do the same integration using PRI TSM2 card instead of SIP see http://joekane.eu/siemens-hipath-3750-to-asterisk-te110p

The HG1500 is an expansion card for the Hipath that enables SIP extensions and in this case Trunks.

This it the System Config

Hipath Manager E + Asterisk

Once you installed the hg1500 card, go the web based configuration panel. Create a node for the asterisk pbx. Explorers -> Voice Gateways -> Nodes

Hipath Manager E + Asterisk

Create call address for the node. All my asterisk extension start with digit 6XX.

Hipath Manager E + Asterisk

On the asterisk box, create sip trunk, the host=10.0.1.7 is the IP address of hipath hg1500 card.

Hipath Manager E + Asterisk

This the outbound route from asterisk to the hipath. It routes asterisk users dialing [1238]XX to the hipath SIP trunk.

Hipath Manager E + Asterisk

On the hipath create a dialplan for asterisk extensions.

Hipath Manager E + Asterisk

I had to create a virtual port on the hipath for all asterisk extensions (all extensions 6XX are virtual ports). Whenever I dial this extension on the hipath it forwards the calls to the SIP trunk. I did try using the dial plan without creating all virtual stations but it didn't work.

 

Hipath Manager E + Asterisk

This is how I create a virtual port (see check sign on “Virtual Station”). Forward all calls to this station to SIP trunk.

Thats it, Thanks again to Achmad Taufik for the guide and screenshots. Any issues post a comment and we can try to fix.


Some extra screenshots for the Route config

Click here to download:
additional-screenshot.pdf (220 KB)
(download)

Xenserver + DRBD update 2

Servers are in - 2x Dell PowerEdge R200's

Installed an extra 80GB drive in each for Xenserver and 250GB for the LVM / DRBD SR
Installed XenServer 5.5 U2 from http://bit.ly/d7LJZX

Starting config tomorrow with an update by the end of the day hopefully :-)

(download)