Skip to content

Instantly share code, notes, and snippets.

@jeongho
Last active September 2, 2016 18:36
Show Gist options
  • Save jeongho/0f9f4b267255e09b7c6a008ad0bd35a6 to your computer and use it in GitHub Desktop.
Save jeongho/0f9f4b267255e09b7c6a008ad0bd35a6 to your computer and use it in GitHub Desktop.
RAID1 + LVM install
--- raid 1
[root@localhost ~]# yum install -y mdadm
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
[root@localhost ~]# mdadm -E /dev/sd[b-c]
mdadm: No md superblock detected on /dev/sdb.
mdadm: No md superblock detected on /dev/sdc.
[root@localhost ~]# 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 0xf709e3c0.
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)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):
Using default value 2610
Command (m for help): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf709e3c0
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ fd Linux raid autodetect
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# fdisk /dev/sdc
# REPEAT
[root@localhost ~]# mdadm -E /dev/sd[b-c]
/dev/sdb:
MBR Magic : aa55
Partition[0] : 41929587 sectors at 63 (type fd)
/dev/sdc:
MBR Magic : aa55
Partition[0] : 41929587 sectors at 63 (type fd)
[root@localhost ~]# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
20948352 blocks super 1.2 [2/2] [UU]
[>....................] resync = 3.1% (655744/20948352) finish=1.5min speed=218581K/sec
unused devices: <none>
[root@localhost ~]# mdadm -E /dev/sd[b-c]1
/dev/sdb1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b7bbe4b2:eb8b38cb:eb2b5625:780928a3
Name : localhost.localdomain:0 (local to host localhost.localdomain)
Creation Time : Fri Sep 2 00:09:55 2016
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 41896819 (19.98 GiB 21.45 GB)
Array Size : 20948352 (19.98 GiB 21.45 GB)
Used Dev Size : 41896704 (19.98 GiB 21.45 GB)
Data Offset : 32768 sectors
Super Offset : 8 sectors
Unused Space : before=32680 sectors, after=115 sectors
State : active
Device UUID : 87c3bf05:0e98ae3c:d076e7f4:719e9641
Update Time : Fri Sep 2 00:10:41 2016
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 30630dcd - correct
Events : 7
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b7bbe4b2:eb8b38cb:eb2b5625:780928a3
Name : localhost.localdomain:0 (local to host localhost.localdomain)
Creation Time : Fri Sep 2 00:09:55 2016
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 41896819 (19.98 GiB 21.45 GB)
Array Size : 20948352 (19.98 GiB 21.45 GB)
Used Dev Size : 41896704 (19.98 GiB 21.45 GB)
Data Offset : 32768 sectors
Super Offset : 8 sectors
Unused Space : before=32680 sectors, after=115 sectors
State : active
Device UUID : ac518c28:401c87de:fd8b79c2:464f6131
Update Time : Fri Sep 2 00:10:41 2016
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : b264e627 - correct
Events : 7
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Sep 2 00:09:55 2016
Raid Level : raid1
Array Size : 20948352 (19.98 GiB 21.45 GB)
Used Dev Size : 20948352 (19.98 GiB 21.45 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Sep 2 00:11:07 2016
State : clean, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Resync Status : 74% complete
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : b7bbe4b2:eb8b38cb:eb2b5625:780928a3
Events : 11
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5237088 blocks
261854 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
160 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, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# mkdir /mnt/raid1
[root@localhost ~]# mount /dev/md0 /mnt/raid1/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 1.1G 16G 7% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 477M 30M 422M 7% /boot
/dev/md0 20G 44M 19G 1% /mnt/raid1
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Aug 30 18:18:23 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=aff40228-d69a-49b4-9627-6f627bfb5334 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/md0 /mnt/raid1 ext4 defaults 0 0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
└─md0 9:0 0 20G 0 raid1 /mnt/raid1
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
└─md0 9:0 0 20G 0 raid1 /mnt/raid1
[root@localhost ~]# mdadm --detail --scan --verbose >> /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=b7bbe4b2:eb8b38cb:eb2b5625:780928a3
devices=/dev/sdb1,/dev/sdc1
--- lvm install
[root@localhost ~]# umount /mnt/raid1
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
[root@localhost ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[root@localhost ~]# vgcreate vg_data /dev/md0
Volume group "vg_data" successfully created
[root@localhost ~]# pvscan
PV /dev/sda2 VG VolGroup lvm2 [19.51 GiB / 0 free]
PV /dev/md0 VG vg_data lvm2 [19.98 GiB / 19.98 GiB free]
Total: 2 [39.48 GiB] / in use: 2 [39.48 GiB] / in no VG: 0 [0 ]
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup" using metadata type lvm2
Found volume group "vg_data" using metadata type lvm2
[root@localhost ~]# lvcreate -L 5G -n lv_data01 vg_data
Logical volume "lv_data01" created.
[root@localhost ~]# mkfs.ext4 /dev/vg_data/lv_data01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# tune2fs -c 100 -i 6m /dev/vg_data/lv_data01
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to 100
Setting interval between checks to 15552000 seconds
[root@localhost ~]# lvcreate -l 100%FREE -n lv_data02 vg_data
[root@localhost ~]# mkfs.ext4 /dev/vg_data/lv_data02
[root@localhost ~]# tune2fs -c 100 -i 6m /dev/vg_data/lv_data02
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 17.57g
lv_swap VolGroup -wi-ao---- 1.94g
lv_data01 vg_data -wi-a----- 5.00g
lv_data02 vg_data -wi-a----- 14.98g
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
├─vg_data-lv_data01 (dm-2) 253:2 0 5G 0 lvm
└─vg_data-lv_data02 (dm-3) 253:3 0 15G 0 lvm
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
├─vg_data-lv_data01 (dm-2) 253:2 0 5G 0 lvm
└─vg_data-lv_data02 (dm-3) 253:3 0 15G 0 lvm
[root@localhost ~]# mkdir /data0{1,2}
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Aug 30 18:18:23 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=aff40228-d69a-49b4-9627-6f627bfb5334 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
#/dev/md0 /mnt/raid1 ext4 defaults 0 0
/dev/vg_data/lv_data01 /data01 ext4 noatime,nodiratime 1 2
/dev/vg_data/lv_data02 /data02 ext4 noatime,nodiratime 1 2
[root@localhost ~]# mount -av
mount: UUID=aff40228-d69a-49b4-9627-6f627bfb5334 already mounted on /boot
mount: tmpfs already mounted on /dev/shm
mount: devpts already mounted on /dev/pts
mount: sysfs already mounted on /sys
mount: proc already mounted on /proc
/dev/mapper/vg_data-lv_data01 on /data01 type ext4 (rw,noatime,nodiratime)
/dev/mapper/vg_data-lv_data02 on /data02 type ext4 (rw,noatime,nodiratime)
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 19.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
├─vg_data-lv_data01 (dm-2) 253:2 0 5G 0 lvm /data01
└─vg_data-lv_data02 (dm-3) 253:3 0 15G 0 lvm /data02
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 20G 0 part
└─md0 9:0 0 20G 0 raid1
├─vg_data-lv_data01 (dm-2) 253:2 0 5G 0 lvm /data01
└─vg_data-lv_data02 (dm-3) 253:3 0 15G 0 lvm /data02
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 1.1G 16G 7% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 477M 30M 422M 7% /boot
/dev/mapper/vg_data-lv_data01
4.8G 10M 4.6G 1% /data01
/dev/mapper/vg_data-lv_data02
15G 38M 14G 1% /data02
[root@localhost ~]# touch /data01/data01.txt
[root@localhost ~]# touch /data02/data02.txt
[root@localhost ~]# ll /data*/
/data01/:
total 16
-rw-r--r-- 1 root root 0 Sep 2 00:42 data01.txt
drwx------ 2 root root 16384 Sep 2 00:32 lost+found
/data02/:
total 16
-rw-r--r-- 1 root root 0 Sep 2 00:42 data02.txt
drwx------ 2 root root 16384 Sep 2 00:33 lost+found
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment