Posted on Leave a comment

How to reduce the root partition in LVM

In this tutorial, I am using the CentOS6(I believe that its also applicable on other Linux distro but didn’t try yet) that has ext4 partition lv_root mounted as / and lv_swap as swap from the volume group vg_centos6 (which is default), that has two hard drives (66GB & 25GB). Due to some reasons, I want to remove the 25GB hard drive from my computer and want to add new 50 GB hard drive. Before, removing the hard drive from the computer, we need to resize the lv_root, then remove it from volume group and at the end from the physical volume.

WARNING: It’s really dangerous, so backup your data before attempting this. Please don’t blame me, if you destory your system. You are responsible for your own actions!

Check the size of lv_root before starting this process:

df -h

0 Boot from CentOS 6 DVD (or any other Linux distro that you are using) and select “rescue” option: 1 Select the Skip, so that it will not mount the filesystem: 2 Run these commands:

pvscan
vgscan
vgchange -a y
lvscan

3 Display the lv_root:

lvdisplay /dev/vg_centos6/lv_root

4 fsck on the large root filesystem (lv_root):

fsck.ext4 /dev/vg_centos6/lv_root

5 Run e2fsck with -f (force) option:

e2fsck -f /dev/vg_centos6/lv_root

6

Issue the resize2fs command to reduce the filesystem (Important: The size here is the actual/total size of the lv_root after reduce, not the size that we want to decrease):

resize2fs -p /dev/vg_centos6/lv_root 65G

7

Now, issue the lvreduce command to reduce the logical volume size:

lvreduce -L 65G /dev/vg_centos6/lv_root

8

Run lvdisplay command to confirm the change:

lvdisplay /dev/vg_centos6/lv_root

9

Reboot the system and login. Remove the disk (in my case it is, /dev/sdb1) from volume group and then from physical volume:

sudo vgreduce vg_centos6 /dev/sdb1

sudo pvremove /dev/sdb1

10

Check the size of lv_root after all these changes:

df -h

11

Success!

Hope this will help you!

Posted on Leave a comment

How to extend the root partition in LVM

In this tutorial, I am using the CentOS6(but also applicable on other Linux distro) that has ext4 partition lv_root mounted as / and lv_swap as swap from the volume group vg_centos6 (which is default), we pretend that we are running out of space in lv_root(/) and volume group (vg_centos6) doesn’t have any free space. We added a brand new drive with 20 GB space. Now, we need to assign this 20 GB space to volume group and then extend lv_root(/).

WARNING: Backup your data before attempting this.

First, we’ll check the file system disk space usage and logical volume information:

sudo df -h
sudo lvs

1

Get the information about newly added hard disk using the following command:

sudo fdisk -l

2Note: /dev/sdb is the newly added hard disk!

To create the partition on the second Hard disk, use the following command and follow the “on screen” instructions and change the partition type from Linux to LVM (8e):

sudo fdisk /dev/sdb

3

Identify the already mounted lvm file system type:

df -T

4

Format the newly created partition using the following command:

sudo mkfs.ext4 /dev/sdb1

5

Initialize the newly created partition as a physical volume:

sudo pvcreate /dev/sdb1

6

Check the volume groups using the following command:

sudo vgs

7Note: vg_centos6 is the volume group that I want to extend, you can change according to your volume group.

Extend the VG (vg_centos6) with new PV (/dev/sdb1):

sudo vgextend vg_centos6 /dev/sdb1

8

Extend the logical volume (lv_root) with all the free space of the VG(vg_centos6):

sudo lvextend -l +100%FREE /dev/vg_centos6/lv_root

9

Finally, resize the file-system:

sudo resize2fs /dev/vg_centos6/lv_root

10

Verify the file-system is larger using the following commands:

sudo df -h
sudo lvs
sudo vgs

11

Hope this will help you!

Posted on Leave a comment

Fixing httpd: [warn] module php5_module is already loaded, skipping

I have a CentOS webserver with the Apache and PHP installed on it and it works perfectly but when I restart the Apache service, I get this error:

[warn] module php5_module is already loaded, skipping

To solve this problem, I have to verify this module load call in two files and need to remove/comment from one of these file.

First, I need to check Apache main file:

sudo nano /etc/httpd/conf/httpd.conf

Yes, the module load call exist in this file:

Also check the php.conf file:

sudo nano /etc/httpd/conf.d/php.conf

Yes, module load call also exist here, so to fix this warning, we’ll comment/remove the module load call here:

#LoadModule php5_module modules/libphp5.so

Restart the httpd service:

sudo service httpd restart

This time, it didn’t display the warning!

Hope this will help you!

Posted on Leave a comment

Time synchronization on CentOS 6.2 using NTP

To install the ntp, just enter this command at the terminal:

sudo yum install ntp

To make the ntpd start at boot time, use this commands:

sudo chkconfig ntpd on

After installation, edit the default ntp configuration:

sudo nano  /etc/ntp.conf

Commented out/remove the default CentOS servers,you can add your own time-servers here to synchronize with, http://www.pool.ntp.org/zone/europe or http://www.pool.ntp.org/zone/north-america lists:

After you are done with the configuration, just start the ntp service:

sudo service ntpd start

To check if the NTP service is synchronizing:

sudo ntpq -pn

To check the synchronization log:

sudo tail -f /var/log/messages

Geeky Comparison with Windows clock after synchronization:

Hope this will help you!

Posted on Leave a comment

How to install VNC server on CentOS 6

VNC is a protocol that is used to share the desktop with other users/computers over the network/Internet.In order to share a desktop, VNC server must be install and configure on the computer and VNC client must be run on the computer that will access the shared desktop.

When we install the minimal copy of CentOS Server, it only gives us the “Command Line” interface.

But some people prefer GUI instead and for this they install Full version of Gnome on CentOS. Actually there is a better way and that is to install VNC. VNC provides a lightweight virtual desktop than full blown version of Gnome.

To run the VNC Server on CentOS, we have to install these required packages:

sudo yum groupinstall Desktop

sudo yum install tigervnc-server

sudo yum install xorg-x11-fonts-Type1

This is optional:

sudo yum install vnc

To start VNC Server on boot

sudo chkconfig vncserver on

To setup users’ VNC password:

vncpasswd

Edit the /etc/sysconfig/vncservers file:

sudo nano /etc/sysconfig/vncservers

Add the following to the end of the file:

VNCSERVERS="1:arbab"
VNCSERVERARGS[1]="-geometry 1024x600"

The iptables rules need to be amended to open the VNC ports:

sudo iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6001:6003 -j ACCEPT
sudo service iptables save
sudo service iptables restart

Restart the VNC Server:

sudo service vncserver restart

Now kill the VNC Server:

vncserver -kill :1

Edit the xstartup file in .vnc directory:

nano .vnc/xstartup

Comment the last line and run the Gnome:

#twm & 
exec gnome-session &

Restart the service:

sudo service vncserver restart

Now, download VNCViewer onto our desktop computer from which we want to access the shared desktop. Connect using ServerIP/Name:1 (:1 is for the VNC server window), In my case it is centos:1.

Enter the password that we created using the vncpasswd command:

We now have GUI access to our server.

Ability to connect for multiple users:

Create a local user, using the following command:

sudo adduser ali

Create a password for newly created user:

sudo passwd ali

Switch to the newly created user and run vncpasswd command for it:

su ali
vncpasswd

Edit the /etc/sysconfig/vncservers file:

sudo nano /etc/sysconfig/vncservers

Add these lines for new user:

VNCSERVERS="1:arbab 2:ali"
VNCSERVERARGS[1]="-geometry 1024x600"
VNCSERVERARGS[2]="-geometry 1024x600"

Restart the VNC service:

sudo service vncserver restart

Kill the vncserver session for new user and edit the xstartup file:

su ali
vncserver -kill :2
cd ~
nano .vnc/xstartup

Modify the file so it looks like this:

#twm & 
exec gnome-session &

Restart the VNC service:

sudo service vncserver restart

Connect with newly created user using centos:2, Where centos is my server name:

Enter the password that we created using the vncpasswd command:

We now have GUI access to our server for newly created user.

Hope this will help you!