diff --git a/src/init-rbdmap b/src/init-rbdmap
new file mode 100755
index 00000000000..31c90da416c
--- /dev/null
+++ b/src/init-rbdmap
@@ -0,0 +1,103 @@
+#!/bin/bash
+
+### BEGIN INIT INFO
+# Provides:          rbdmap
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Ceph RBD Mapping
+# Description:       Ceph RBD Mapping
+### END INIT INFO
+
+DESC="RBD Mapping"
+RBDMAPFILE="/etc/rbdmap"
+
+. /lib/lsb/init-functions
+
+do_map() {
+	if [ ! -f "$RBDMAPFILE" ]; then
+		log_warning_msg "$DESC : No $RBDMAPFILE found."
+		exit 0
+	fi
+
+	log_daemon_msg "Starting $DESC"
+	# Read /etc/rbdtab to create non-existant mapping
+	newrbd=
+	RET=0
+	while read DEV PARAMS; do
+		case "$DEV" in
+		  ""|\#*)
+			continue
+			;;
+		  */*)
+			;;
+		  *)
+			DEV=rbd/$DEV
+			;;
+		esac
+		OIFS=$IFS
+		IFS=','
+		for PARAM in ${PARAMS[@]}; do
+			CMDPARAMS="$CMDPARAMS --$(echo $PARAM | tr '=' ' ')"
+		done
+		IFS=$OIFS
+		if [ ! -b /dev/rbd/$DEV ]; then
+			log_progress_msg $DEV
+			rbd map $DEV $CMDPARAMS
+			[ $? -ne "0" ] && RET=1
+			newrbd="yes"
+		fi
+	done < $RBDMAPFILE
+	log_end_msg $RET
+
+	# Mount new rbd
+	if [ "$newrbd" ]; then
+                log_action_begin_msg "Mounting all filesystems"
+		mount -a
+		log_action_end_msg $?
+	fi
+}
+
+do_unmap() {
+	log_daemon_msg "Stopping $DESC"
+	RET=0
+	# Unmap all rbd device
+	for DEV in /dev/rbd[0-9]*; do
+		log_progress_msg $DEV
+		# Umount before unmap
+		MNTDEP=$(findmnt --mtab --source $DEV --output TARGET | sed 1,1d | sort -r)
+		for MNT in $MNTDEP; do
+			umount $MNT || sleep 1 && umount -l $DEV
+		done
+		rbd unmap $DEV
+		[ $? -ne "0" ] && RET=1
+	done
+	log_end_msg $RET
+}
+
+
+case "$1" in
+  start)
+	do_map
+	;;
+
+  stop)
+	do_unmap
+	;;
+
+  reload)
+	do_map
+	;;
+
+  status)
+	rbd showmapped
+	;;
+
+  *)
+	log_success_msg "Usage: rbdmap {start|stop|reload|status}"
+	exit 1
+	;;
+esac
+
+exit 0
diff --git a/src/rbdmap b/src/rbdmap
new file mode 100644
index 00000000000..b0784cfd7d8
--- /dev/null
+++ b/src/rbdmap
@@ -0,0 +1,2 @@
+# RbdDevice		Parameters
+#poolname/imagename	id=client,keyring=/etc/ceph/ceph.client.keyring