Skip to main content

Posts

Extend virtual disk size of a VDI image

BACK UP EVERYTHING BEFORE TRYING THIS. The entire process can be split into 4 stages. 1. Physically increasing the vdi file size on the host machine. This requires help from the hypervisor OEM. For VDI, which is a native VirtualBox image, we'll use VBoxManage. VBoxmanage modifyhd centos.vdi --resize 100000 If the above command doesn't work and throw an error about this feature not being implemented, you might try the following instead. Create a new disk with higher capacity VBoxManage clonemedium --existing 2. Resize the LVM. For this we'll use GParted to resize the image. Boot up a GParted live CD and resize the required LVM partition to suit your need. 3. Resize the LVM-2 Boot up the machine with the newly extended image and check df -h and fdisk -l. You'll see that the disk has indeed grown, but LVM hasn't. Use the following command to resize LVM to full size. pvresize /dev/sda2 (assuming your LVM partition is sda...

Multimaster replication with Symmetric DS

Symmetric DS is an awesome tool for trigger based replication whcih works for all major database vendors, including but not limited to PostgreSQL, MySQL, MSSQL, Oracle and many others. Symmetric-DS is a java application and can execute on any platform on whcih JRE is available including Windows and Linux. Trigger based replication, in constrast to disk based (eg. DRBD ) or transaction log file shipping based or statement based , works by registering triggers on DMLs and sending the data thus generated to remote machines. Another very popular trigger based DB replication tool is Slony . Symmetric-DS in addition to being database agnostic also supports multi-master replication (MMR). MMR usecase involves multiple database nodes, connected in a pool with DML updates coming from any of them. This is different from the normal master-slave replication, where slaves are not expected to generate any data events, and the sole authority of database is the master. MMR requirement causes d...

SSL cIpher suits and what they mean?

I'm sure you have wondered at all those cipher suits SSL supports and watched in wonder as to what the hell does all those weird abbreviation mean. To find out what all cipher suits your openssl installation supports try, $ openssl ciphers -v ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384 ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA384 ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1 ECDHE-ECDSA-AES256-SHA  SSLv3 Kx=ECDH     Au=ECDSA Enc=AES(256)  Mac=SHA1 SRP-DSS-AES-256-CBC-SHA SSLv3 Kx=SRP      Au=DSS  Enc=AES(256)  Mac=SHA1 S...

RabbitMQ and SSL

RabbitMQ is an AMQP provider i.e. it can reliably queue, service and maintain messages according to a range of policies and parameters. By default, it listens to plain old TCP connections and sends and receives messages over plaintext. This feature just works "out of the box". For users who wish to use SSL over TCP aka TLS, it requires a bit more work on their part. First, let's create a bunch of certificates and sign them with our own CA. For this, we'll use easyrsa3 . Easyrsa is a CLI tool to create, sign and manage your own certification authorities. It's maintained by OpenVPN team. Download easyrsa using your native package manager i.e. yum or apt-get $cp -Rp /usr/share/easy-rsa ~/easy-rsa-3   $cd ~/easy-rsa-3 $./easyrsa init-pki $./easyrsa build-ca $./easyrsa build-server-full broker [nopass] $./easyrsa build-client-full client1 [nopass] This creates three entities (collection of private keys, public keys and certificates) for a CA, a s...

PC Power supply and hacks

For posterity and myself, I'm leaving some tips and tricks of PC Power Supply Unit (PSU) whcih is an SMPS (Switched Mode Power Supply). There are a variety of uses of a +12V, +5V and +3V DC power supply like lighting up an LED strip or powering a raspberry pi. There are various colored cables in a typical ATX 12V SMPS. I'll list out the various color lines and what they mean, Sr. No Cable color Number of cables in a PSU Use 1 Green exactly one (1) Wake up signal from motherboard. Pressing PC power button makes this signal carry wake up signal to PSU to start. Green needs to be touched with the any ground to make the SMPS start. For self-starting PSUs, green needs to be connected with one black all the time. 2 Blue exactly one (1) -12V 3 Purple exactly one (1) +5V standby. When power supply is on standby mode (not on by signalling green), this line can give 1-2 A current. 4 Gray exactly one (1) Power good signal. When PSU levels has reached specificati...

My Experience with Free SeedBoxes

More people are becoming more and more tech-savy, Internet content is increasing by the second into humongous proportions. Internet bandwidth from the days of dial-up modem (256 kbps) to ADSL (~2 Mbps) to Fiber (+10 Mbps) have increased the connect of people with Internet. Today, torrents form a large part of the traffic flowing through the Internet allowing people share music, open source softwares and literally everything under the sun. Along with torrents come the task of seeding etiquettes. Simply being a leecher is not encouraged in the torrent sharing community as you are supposed to keep the torrent healthy by sharing your 'bit', no pun intended. Keeping your desktop powered on all the time for seeding and leeching is not advisable for a variety of reasons including but not limited to Security: A seedbox will normally be out of the jurisdiction of your 'evil' state. Infact, you are not even installing a bittorrent client on your machine. So, no worries of l...

Simple python script for creating an image listing in HTML

Just a code snippet without any adieu... #!/usr/bin/python import sys, os foldername = sys.argv[1] file_list = os.listdir(foldername) file_list.sort() output = "<html><body>" for file in file_list: output += "<img width='100%' src='" + foldername + os.path.sep + file + "'></img>" print output Simply redirect the output to a file with a .html extension and open the html file in browser.