create pools with different size of Hard Disk

A pool can have any (sane) number of disks with completely different sizes. As long as each disk is used to produce its own vdev --> zero redundancy = not recommended.

The devices constituting a vdev should have (nearly) the same size. If they are too different you get a warning:
Code:
~# zpool create dummypool mirror /dev/zvol/rpool/dummy/dummydisk1-with-3GB  /dev/zvol/rpool/dummy/dummydisk1-with-4GB
invalid vdev specification
use '-f' to override the following errors:
mirror contains devices of different sizes

The solution is shown in the warning ;-)

Code:
~# zpool create dummypool mirror -f /dev/zvol/rpool/dummy/dummydisk1-with-3GB  /dev/zvol/rpool/dummy/dummydisk1-with-4GB

~# zpool list -v  dummypool
NAME                                       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
dummypool                                 2.75G  1.88M  2.75G        -         -     0%     0%  1.00x    ONLINE  -
  mirror-0                                2.75G  1.88M  2.75G        -         -     0%  0.06%      -    ONLINE        -
    zvol/rpool/dummy/dummydisk1-with-3GB  2.99G      -      -        -         -      -      -      -    ONLINE        -
    zvol/rpool/dummy/dummydisk1-with-4GB  3.99G      -      -        -         -      -      -      -    ONLINE        -

Easy :-)