]> git.proxmox.com Git - pve-installer.git/commitdiff
use lvmthin for data volume, create storage.cfg
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 1 Mar 2016 07:04:37 +0000 (08:04 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 1 Mar 2016 07:06:02 +0000 (08:06 +0100)
Makefile
changelog.Debian
control
proxinstall

index 51e6e74b76ad3313d0128487349e747ddbc52cb8..c52ccaf19c0359b129ee04e81f7ac2c58c35c48c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 # achtung: also set release in proxinstall!
 RELEASE=4.1
 
-DEB=pve-installer_4.0-6_all.deb
+DEB=pve-installer_4.0-7_all.deb
 
 INSTALLER_SOURCES=             \
        unconfigured.sh         \
index a8f0c878c73ced2a98736dd72bf0f6f15e865367..70827520fe96527e3300f25c20d1a2ec1a0cedb6 100644 (file)
@@ -1,3 +1,13 @@
+pve-installer (4.0-7) unstable; urgency=medium
+
+  * use lvmthin for data volume
+
+  * create zfs subpool (rpool/data) as VM/CT storage
+
+  * create better default storage configiguration
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 01 Mar 2016 07:16:16 +0100
+
 pve-installer (4.0-6) unstable; urgency=medium
 
   * install EFI fallback boot file (OVMF does not boot without)
diff --git a/control b/control
index e244686fdfe6504fe9667d7c56c4c1cae5a48e23..8bf7e803f21208916454731059fbe110286bdab9 100644 (file)
--- a/control
+++ b/control
@@ -1,5 +1,5 @@
 Package: pve-installer
-Version: 4.0-5
+Version: 4.0-7
 Section: utils
 Priority: optional
 Architecture: amd64
index aa3670b30c34f8f26e274be087c20735cdfca498..75c1f57e0d30c79cc5a112ead1ae1c976acd45b6 100755 (executable)
@@ -33,6 +33,31 @@ if (!GetOptions ('testmode=s' => \$opt_testmode)) {
     exit (-1);
 }
 
+my $zfspoolname = $opt_testmode ? "test_rpool" : 'rpool';
+
+my $storage_cfg_zfs = <<__EOD__;
+dir: local
+       path /var/lib/vz
+       content iso,vztmpl,backup
+
+zfspool: localzfs
+       pool $zfspoolname/data
+       sparse
+       content images,rootdir
+__EOD__
+
+my $storage_cfg_lvmthin = <<__EOD__;
+dir: local
+       path /var/lib/vz
+       content iso,vztmpl,backup
+
+lvmthin: locallvm
+       thinpool data
+       vgname pve
+       content rootdir,images
+__EOD__
+
+
 sub file_read_firstline {
     my ($filename) = @_;
 
@@ -665,7 +690,7 @@ sub diversion_remove {
 }
 
 sub zfs_create_rpool {
-    my ($zfspoolname, $vdev) = @_;
+    my ($vdev) = @_;
 
    syscmd ("zpool create -f -o ashift=12 -o cachefile=none $zfspoolname $vdev") == 0 ||
        die "unable to create zfs root pool\n";
@@ -673,6 +698,9 @@ sub zfs_create_rpool {
     syscmd ("zfs create $zfspoolname/ROOT")  == 0 ||
        die "unable to create zfs $zfspoolname/ROOT volume\n";
     
+    syscmd ("zfs create $zfspoolname/data")  == 0 ||
+       die "unable to create zfs $zfspoolname/data volume\n";
+
     syscmd ("zfs create $zfspoolname/ROOT/pve-1")  == 0 ||
        die "unable to create zfs $zfspoolname/ROOT/pve-1 volume\n";
 
@@ -684,7 +712,7 @@ sub zfs_create_rpool {
 }
 
 sub zfs_create_swap {
-    my ($zfspoolname, $swapsize) = @_;
+    my ($swapsize) = @_;
 
     syscmd ("zfs create -V ${swapsize}K -b 4K $zfspoolname/swap")  == 0 ||
        die "unable to create zfs swap device\n";
@@ -847,6 +875,9 @@ sub create_lvm_volumes {
     syscmd ("/sbin/lvcreate -L${rest}K -ndata pve") == 0 ||
        die "unable to create data volume";
 
+    syscmd ("/sbin/lvconvert --yes --type thin-pool pve/data") == 0 ||
+       die "unable to create data thin-pool";
+
     syscmd ("/sbin/vgchange -a y pve") == 0 ||
        die "unable to activate volume group";
 
@@ -882,7 +913,6 @@ sub extract_data {
     my $rootdev;
 
     my $use_zfs;
-    my $zfspoolname = $opt_testmode ? "test_rpool" : 'rpool';
 
     my $filesys = $config_options->{filesys};
 
@@ -924,7 +954,7 @@ sub extract_data {
 
                syscmd ("zpool destroy $zfspoolname") if $opt_testmode;
 
-               zfs_create_rpool($zfspoolname, $rootdev);
+               zfs_create_rpool($rootdev);
            }
 
        } elsif ($use_zfs) {
@@ -960,10 +990,10 @@ sub extract_data {
                $vdev =~ s/ $devname/ $osdev/;
            }
 
-           zfs_create_rpool($zfspoolname, $vdev);
+           zfs_create_rpool($vdev);
            
            my $swap_size = compute_swapsize($disksize);
-           $swapfile = zfs_create_swap($zfspoolname, $swap_size);
+           $swapfile = zfs_create_swap($swap_size);
 
        } else {
 
@@ -1022,8 +1052,7 @@ sub extract_data {
 
            if ( -b $target_hd) {
 
-               create_filesystem ($rootdev, 'root', $filesys, 0.05, $maxper, 0, 0.5);
-               create_filesystem ($datadev, 'data', $filesys, 0.05, $maxper, 0.5, 1);
+               create_filesystem ($rootdev, 'root', $filesys, 0.05, $maxper, 0, 1);
 
            } else {
 
@@ -1041,14 +1070,9 @@ sub extract_data {
        mkdir "$targetdir/boot";
        mkdir "$targetdir/boot/efi";
 
-       if ($datadev) {
-
-           mkdir "$targetdir/var";
-           mkdir "$targetdir/var/lib";
-           mkdir "$targetdir/var/lib/vz";
-           syscmd ("mount -n $datadev $targetdir/var/lib/vz") == 0 ||
-               die "unable to mount $datadev\n";
-       }
+       mkdir "$targetdir/var";
+       mkdir "$targetdir/var/lib";
+       mkdir "$targetdir/var/lib/vz";
 
        display_html ("extract2-rulesystem.htm");
        update_progress (1, 0.05, $maxper, "extracting base system");
@@ -1135,7 +1159,6 @@ sub extract_data {
        if (!$use_zfs) {
            my $root_mountopt = $fssetup->{$filesys}->{root_mountopt} || 'defaults';
            $fstab .= "$rootdev / $filesys ${root_mountopt} 0 1\n";
-           $fstab .= "$datadev /var/lib/vz $filesys defaults 0 1\n" if $datadev;
        }
 
        # mount /boot/efi
@@ -1346,6 +1369,14 @@ _EOD
        write_config ("user:root\@pam:1:0:::${mailto}::\n",
                      "$tmpdir/user.cfg");
 
+       # write storage.cfg
+       my $strorage_cfg_fn = "$tmpdir/storage.cfg";
+       if ($use_zfs) {
+           write_config ($storage_cfg_zfs, $strorage_cfg_fn);
+       } else {
+           write_config ($storage_cfg_lvmthin, $strorage_cfg_fn);
+       }
+
        run_command("chroot $targetdir /usr/bin/create_pmxcfs_db /tmp/pve /var/lib/pve-cluster/config.db");
 
        syscmd ("rm -rf $tmpdir");