Headlines News :
Home » » Creating a new filesystem with fdisk, lvm, and mkfs

Creating a new filesystem with fdisk, lvm, and mkfs

Our Task: Create a new 10GB filesystem to store a package repository for yum

Challenges: The existing hard drive has been fully allocated using LVM.
Solution:
  • Add a new hard drive to the server (virtual server in this case)
  • Partition the drive and add it to the main logical volume
  • Create a new filesystem

This article assumes that by now you have physically added the hard drive to the server. In my case I am using a virtual server but the tasks are essentially the same.

Partition the new disk drive

Before starting I will verify there are no partitions on the new disk.
[root@fedora-test ~]# fdisk -l /dev/sdb 

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Since there are no partitions it is safe to proceed. I will now create one big partition as I plan to add this disk to LVM and use LVM to divvy up my disk space.
[root@fedora-test ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe1410716.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Using default value 41943039
Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe1410716

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Once you type w the changes are written to disk.

Add the partition to the volume group

My volume group name is vg_fedoratest and I will now add the new partition to that volume group with the vgextend command. This adds the additional partition space to the volume group for lvm to use.

[root@fedora-test ~]# ls -la /dev/sdb*
brw-rw----. 1 root disk 8, 17 april  6 15:08 /dev/sdb
brw-rw----. 1 root disk 8, 18 april 6 15:08 /dev/sdb1
[root@fedora-test ~]# pvcreate /dev/sdb1
[root@fedora-test ~]# vgextend vg_fedoratest /dev/sdb1
  No physical volume label read from /dev/sdb1
  Writing physical volume data to disk "/dev/sdb1"
  Physical volume "/dev/sdb1" successfully created
  Volume group "vg_fedoratest" successfully extended
  [root@fedora-test ~]# vgdisplay vg_fedoratest
  --- Volume group ---
  VG Name               vg_fedoratest
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               40.69 GiB
  PE Size               32.00 MiB
  Total PE              1302
  Alloc PE / Size       663 / 20.72 GiB
  Free  PE / Size       639 / 19.97 GiB
  VG UUID               0gvY4O-I3tT-WKK0-ClU2-sXDz-Nq0c-eExZz2

Create a logical volume & filesystem

I am first using lvcreate to create the logical volume, after verifying that the logical volume created correctly I will create a new filesystem on top with mkfs.
[root@fedora-test ~]# lvcreate -L 10GB -n lv_yumrepo vg_fedoratest
  Logical volume "lv_yumrepo" created
[root@fedora-test ~]# lvdisplay vg_fedoratest/lv_yumrepo
  --- Logical volume ---
  LV Name                /dev/vg_fedoratest/lv_yumrepo
  VG Name                vg_fedoratest
  LV UUID                rpl7q1-oi6N-nZot-bjPT-Y1qi-2W28-xlBg6Q
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Current LE             320
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
 [root@fedora-test ~]# mkfs -t ext3 /dev/vg_fedoratest/lv_yumrepo
mke2fs 1.41.14 (23-april-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Mount the filesystem

Now that my filesystem is created I need to mount it; but before then I need to create the directory that the mount point will overlay and add the appropriate lines to the /etc/fstab file.
[root@fedora-test ~]# mkdir /var/repo
[root@fedora-test ~]# vi /etc/fstab
    ## Append to bottom
    /dev/mapper/vg_fedoratest-lv_yumrepo /var/repo ext3 defaults 0 0
[root@fedora-test ~]# mount
/dev/mapper/vg_fedoratest-lv_yumrepo on /var/repo type ext3 (rw,relatime,seclabel,user_xattr,acl,barrier=1,nodelalloc,data=ordered)
Share this post :
 
Support : Worldwide Solution | Intense Dealz | Your Link
Copyright © 2013. Students Friend - All Rights Reserved
Website maintained by Ankit Jain And Akhil Dadhich
Proudly powered by WWS INDIA