Partition required for ext4 filesystem?
Solution 1:
Not required, but you should partition. The partition table eats up very little space, but it is universally recognizable. Windows will know that there's a filesystem there if you put it in a Windows box. If you have no partitions, other operating systems will just treat it as an empty drive.
Solution 2:
You can run any filesystem on a bare block device with or without partitions, however the danger is that both people and OSes expect to see a partition table on a block device to realize that there is data present.
(both raw disks and partitions are just block devices, after all)
ZFS actually creates such a guardian partition table which is why it's safe to do it on an unpartitioned device:
$ zpool status
...
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
...
$ sudo gdisk -l /dev/sda
...
MBR: protective
GPT: present
...
Number Start (sector) End (sector) Size Code Name
1 2048 7814019071 3.6 TiB BF01 zfs
9 7814019072 7814035455 8.0 MiB BF07
Solution 3:
Yes you can format a whole block device and need not create a partition first.
On SAN LUNs and multi-boot systems I would recommend creating partitions though and setting the correct filesystem id, as you run the risk that other operating systems and/or operators could interpret a unpartitioned disk as free and unused.