EX200 Deploy, configure, and maintain systems Practice Question
A system has a new disk /dev/sdb that needs to be used as an LVM physical volume for an existing volume group 'vg_data'. Which sequence of commands is correct?
⚠ Common exam trap
A common mix-up: candidates confuse vgcreate (which creates a new volume group) with vgextend (which adds a physical volume to an existing volume group), leading them to select option C instead of D.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
pvcreate /dev/sdb; vgextend vg_data /dev/sdb
The disk /dev/sdb must first be initialized as a physical volume using pvcreate, then added to the existing volume group vg_data using vgextend. This sequence properly extends the volume group with the new physical volume, as required by LVM.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
vgcreate vg_data /dev/sdb; pvcreate /dev/sdb
Why it's wrong here
This sequence is invalid because it calls vgcreate before the disk has been initialized as a physical volume. LVM will reject /dev/sdb as a vgcreate argument since no PV metadata exists on it; pvcreate must write that metadata first. Moreover, vgcreate is meant only for creating a new volume group, so it cannot be used to add a disk to the already-existing vg_data — that operation requires vgextend.
- ✗
lvextend vg_data /dev/sdb
Why it's wrong here
This command targets the wrong LVM object: lvextend extends a logical volume (an LV path such as /dev/vg_data/lvname), not a volume group. It also expects a size argument and a mounted or active LV, not a raw block device. Extending the vg_data volume group to include /dev/sdb is the role of vgextend, and even then the disk must first be converted to a PV with pvcreate.
- ✗
pvcreate /dev/sdb; vgcreate vg_data /dev/sdb
Why it's wrong here
Although this correctly initializes /dev/sdb as a PV with pvcreate, the subsequent vgcreate is wrong because vg_data already exists; running vgcreate with an existing VG name will fail with a 'Volume group vg_data already exists' error. vgcreate is only for carving out a brand-new volume group from one or more PVs. To add a new PV to an existing VG, the correct command is vgextend, which absorbs the PV into vg_data's pool of physical extents.
- ✓
pvcreate /dev/sdb; vgextend vg_data /dev/sdb
Why this is correct
This is the correct procedure: pvcreate writes LVM metadata onto /dev/sdb, turning it into a physical volume ready for LVM to use. vgextend then adds that PV to the existing vg_data volume group, increasing the VG's total available physical extents. This is the standard way to grow a volume group with a freshly added disk, after which logical volume capacity can be expanded with lvextend.
Go deeper
Related to this question
About these practice questions
One of 427 original EX200 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This EX200 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX200 exam.